Алгоритм для определения эффективной “разности фаз” двух сигналов с различными частотами?

Если вы работаете на Apache, вы также можете использовать .htaccess для перенаправления.

Redirect 301 / http://new-site.com/
9
задан Glorfindel 30 March 2019 в 20:59
поделиться

5 ответов

У меня проблемы с визуализацией настройки вашего оборудования. И поведение, которое вы пытаетесь обнаружить. Вал проскальзывает? Зубы изнашиваются?

В любом случае, я бы написал симуляцию ситуации, чтобы получить некоторые, возможно, преувеличенные, результаты без шума для проверки алгоритмов.

Алгоритмы, которые я бы тестировал, были бы вариациями следующее:

Assign signal with lowest frequency to A

Time A’s rising edge. =>  Ta1

Time the next B rising edge . =>  Tb1

Calculate time Tb1 – Ta1    =>  dT1

Time next A’s rising edge. => Ta2

Time the next B rising edge. =>  Tb2

Calculate time Tb2 – Ta2    =>  dT2

Calculate second order difference  dT2 – dT1  => d2T1

Repeat precious steps to get another second order difference  => d2T2

If sign of d2T1 and d2T2 are different, 

repeat previous steps

else sign of d2T1 and d2T1 are same

    calculate third order difference  d2T2 – d2T2  =>  d3T1

Repeat previous steps to get another 3rd order difference  =>  d3T2

If d3T2 – d3T1 > max noise

    Raise alarm
1
ответ дан 4 December 2019 в 23:40
поделиться

Я думаю, что это еще проще.

Каждые 16 * 9 замеров (большой шестерни) колеса находятся в в том же самом месте, где они начали.

Итак, что вы делаете следующее:

  • выбираете любой момент времени с помощью выборки на большом винте. Измерьте количество времени, прежде чем вы также попробуете небольшой винтик. Запомните это значение.

  • каждые 16 * 9 выборок большого винта (почему это звучит сомнительно?) Снова выполняйте одно и то же измерение и сравнивайте его с вашим базовым значением. Когда время начинает сдвигаться, у вас возникает проблема.

R

1
ответ дан 4 December 2019 в 23:40
поделиться

Общий сигнал, т. е. Сигнал, который вы получаете, когда складываете красный и синий, имеет длину фазы в 16 раз больше синего и в 9 раз больше красного сигнала. Вы можете измерить разницу во времени между каждым 16-м синим и каждым 9-м красным восходящим флангом.

Я предполагаю, что вы хотите измерить износ шестерен.

2
ответ дан 4 December 2019 в 23:40
поделиться

Я думаю, что лучше всего было бы создать XY-диаграмму всех пар зубьев. Вы бы произвольно выбрали один зуб на каждой шестеренке, так как T = 0 ..

0
ответ дан 4 December 2019 в 23:40
поделиться

Поскольку мы говорим о «фазе», то кажется разумным измерить «биение», которое возникает, когда две формы волны усиливают друг друга.

Что-то вроде этого, возможно:

void cog_phase_monitor2( int cog, int t )
{
    static int last_a, last_b, last_beat, last_beat_delta = 0;;
    int beat = 0;
    if( cog == 1 ) {
        if( t - last_b < 1 )
            beat = 1;
        last_a = t;
    }
    if( cog == 2 ) {
        if( t - last_a < 1 )
            beat = 1;
        last_b = t;
    }
    if( beat ) {
        printf("**** delta beat %d \n",t-last_beat);
        if( last_beat_delta ) {
            if( last_beat_delta != t-last_beat ) {
                printf("!!!Warning beat just changed !!!\n");
                last_beat_delta = 0;
            }
        } else {
            last_beat_delta = t-last_beat;
        }
        last_beat = t;
    }

}

] Теперь, если мы подключим это к моделированию двух зубцов, одного из 9 зубцов и одного из 16 зубцов, оба вращаются со скоростью 10 об / сек

B at 6 msecs
A at 11 msecs
B at 12 msecs
B at 18 msecs
A at 22 msecs
B at 24 msecs
B at 30 msecs
A at 33 msecs
B at 36 msecs
B at 42 msecs
A at 44 msecs
B at 48 msecs
B at 54 msecs
A at 55 msecs
B at 60 msecs
A at 66 msecs
B at 66 msecs
**** delta beat 66
B at 72 msecs
A at 77 msecs
B at 78 msecs
B at 84 msecs
A at 88 msecs
B at 90 msecs
B at 96 msecs
A at 99 msecs
B at 102 msecs
B at 108 msecs
A at 110 msecs
B at 114 msecs
B at 120 msecs
A at 121 msecs
B at 126 msecs
A at 132 msecs
B at 132 msecs
**** delta beat 66
B at 138 msecs
A at 143 msecs
B at 144 msecs
B at 150 msecs
A at 154 msecs
B at 156 msecs
B at 162 msecs
A at 165 msecs
B at 168 msecs
B at 174 msecs
A at 176 msecs
B at 180 msecs
B at 186 msecs
A at 187 msecs
B at 192 msecs
A at 198 msecs
B at 198 msecs
**** delta beat 66

А теперь, если мы добавим задержку в 1 мс к одному из зубцов:

B at 6 msecs
A at 11 msecs
B at 12 msecs
B at 18 msecs
A at 22 msecs
B at 24 msecs
B at 30 msecs
A at 33 msecs
B at 36 msecs
B at 42 msecs
A at 44 msecs
B at 48 msecs
B at 54 msecs
A at 55 msecs
B at 60 msecs
A at 66 msecs
B at 66 msecs
**** delta beat 66
B at 72 msecs
A at 77 msecs
B at 78 msecs
B at 84 msecs
A at 88 msecs
B at 90 msecs
B at 96 msecs
A at 99 msecs
B delayed at 102 msecs
B at 103 msecs
B at 109 msecs
A at 110 msecs
B at 115 msecs
A at 121 msecs
B at 121 msecs
**** delta beat 55
!!!Warning beat just changed !!!
B at 127 msecs
A at 132 msecs
B at 133 msecs
B at 139 msecs
A at 143 msecs
B at 145 msecs
B at 151 msecs
A at 154 msecs
B at 157 msecs
B at 163 msecs
A at 165 msecs
B at 169 msecs
B at 175 msecs
A at 176 msecs
B at 181 msecs
A at 187 msecs
B at 187 msecs
**** delta beat 66
B at 193 msecs
A at 198 msecs
B at 199 msecs
B at 205 msecs

Это кажется обнадеживающим началом: -)

2
ответ дан 4 December 2019 в 23:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: