Едрена вошь, крутая весчь, и на глаз сурьезно выглядит, ... на Ubuntu будет работать ? Я имел ввиду полноценный овтономный прибор, имеющий сертификат госповерки и.т.д
Пролистал книгу DSP Стивена, но там не нашел, как программно реализуются фазовращатели спектра сигнала, допустим на входе 2 сигнала f1(x) нужно сдвинуть по фазе на 90 градусов, а f2(x) нужно сдвинуть на 0 градусов.
Можно ли сделать фазовращатель, по алгоритму, на входе f(x) сдвинуть на 90 градусов out(x), относительно f(x). Значит ли это что если я придержу f(x) T/4 (Fd/4) то получу out(x) со сдвигом 90 град ?? То есть сделаю линию задержки, входного сигнала, на 1/4 частоты дискретизации, четверть периода
Правильно ли я понял , чтобы сделать преобразование Гильберта, то нужно сделать ДПФ->ПГ->ОПФ ?? А если мне нужен произвольный угол 36, 6 градуса ???
Ну например, берем чистейший синус 15 кГц, с уровнем +1, -1 (по осциллографу), и подаём на вход вот этого аппарата, https://prist.ru/produce/card/meas.htm?id=749528080#t=main, какой уровень спектра он покажет ?
Уровень - понятие относительное. В аудио уровень +/-1 принято считать как 0 dBFS. Что покажет спектрометр - надо читать документацию, всё может зависеть от его настроек.
Ну да лана, сложная это весчь дельта функция ..., с площадью = 1, уровнем -> б.б.в и длительностью -> б.м.в.
Считай это одиночным импульсом, в дискретном случае это одиночный семпл единичной амплитуды, просто на непрерывном интервале длительность импульса стремится к 0 а амплитуда соответственно растет (чтобы площадь осталась 1)
В каких единицах? Если в вольтах, то 1, если в децибелах то относительно какой величины? Если относительно 1В то покажет 0дБ.
Ну да в вольтах, ну другой разговор, ясность есть что 1 вольт, ... А не там корень из двух * амплитуды ...
Непонятно зачем на входе цифровой обработки нужен сигнал сдвинутый на 90 градусов ??? Ведь допустим у нас один сигнал на входе, 1. Получаем семпл в буфер 2. ДПФ 3. ПГ // выделяем нужную полосу 4. ОПФ 5. Выдаём обработанный семпл
SSB модулятор, вот по этой схеме Код (Text): ssb_mod { int n=0; int x,x1,x2,x3,x4,y1,y2,y3,y4; int f_cos [4] {1,0,-1,0} int f_sin [4] {0,1,0,-1} int f_sin_m [4] {0,-1,0,1} x=ADC; // получаем отсчет с ADC x1=x*f_cos[n]; y1=x*f_sin_m[n]; x2=x1*f_cos[n]; x3=y1*f_sin[n] ; x4=x2+x3; out_I=x4; //вывод канал I y2=y1*f_cos[n]; у3=x1*f_sin[n]; y4=y2+y3; out_Q=y4; // вывод канал Q if (n==3) { n=0; } else n++; } Будет ли это работать ??