Stefan1 0 22 ноября, 2012 Опубликовано 22 ноября, 2012 (изменено) · Жалоба Доброго времени суток! Подскажите: как можно вычлененить 1-ю гармонику несущего сигнала на фоне модулирующего? Т.е. при разложении сигнала в ряд Фурье, модулированного низкой частотой и выделении из него первой гармоники - у меня получается первая гармоника этого модулирующего сигнала, а мне нужна 1-я гармоника несущего сигнала. Считаю в Матлабе так: u=fft(U1); - раскладываю в ряд Фурье сигнал U1. u([1 3:length(u)-1])=0; - обнуляю все элементы кроме второй гармоники. idi0f=ifft(idi1f); - вывожу его первую гармонику. Изменено 23 ноября, 2012 пользователем Stefan1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Xenia 37 22 ноября, 2012 Опубликовано 22 ноября, 2012 · Жалоба В МатЛабе (в пакете Communications) вроде бы есть специальная функция для этого - называется dmodce. http://matlab.exponenta.ru/communication/book4/index.php А еще ознакомьтесь с темой этого форума "Демодуляция в цифре". Возможно, что-то из нее для вас окажется полезным. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
V_G 7 22 ноября, 2012 Опубликовано 22 ноября, 2012 · Жалоба модулированного низкой частотой и выделении из него первой гармоники - у меня получается первая гармоника этого модулирующего сигнала, а мне нужна 1-я гармоника несущего сигнала. Насколько я понял, это тема не про демодуляцию. Уточнитесь со способом модуляции. Для правильно модулированного сигнала в спектре ВООБЩЕ не должно быть НЧ составляющих. Для АМ нужно искать надо не первую гармонику, а максимальную спектральную составляющую. При ЧМ мне непонятем смысл 1-й гармоники несущего сигнала. Он там весь несущий, и его частота меняется по закону модуляции. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DRUID3 0 23 ноября, 2012 Опубликовано 23 ноября, 2012 · Жалоба Подскажите: как можно вычлененить огибающую частоту на фоне несущей цифровыми методами? да уж... Гоноровский ворочается в гробу наверное. "Цифровые методы" не изменились со времен открытия радио, это аппаратная часть менялась. Нужно продетектировать как АМ, а потом работать с НЧ - это и есть огибающая. Детектировать АМ "цифровыми способами" просто. Если сигнал комплексный - то sqrt(I*I + Q*Q) для каждого отсчета + ФНЧ с соответствующей частотой среза (мы же по-сути длину комплексного вектора ищем). Если действительный - то abs(S) + ФНЧ. Если нужен "реал-тайм" а ресурсов не хватает - есть аппроксимация для sqrt(I*I + Q*Q). Можно и еще рядом способом - но это простейшие. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Stefan1 0 23 ноября, 2012 Опубликовано 23 ноября, 2012 (изменено) · Жалоба Уточнитесь со способом модуляции... Сигнал выглядит так: У этого сигнала провал посередине. Период сигнала = 0.77 с. Мне нужно вывести на график 1-ю гармонику с тем же периодом 0.77 с. При этом частот модуляции я не знаю, знаю только частоту несущей. Если сигнал комплексный - то sqrt(I*I + Q*Q) для каждого отсчета + ФНЧ с соответствующей частотой среза Что-то не совсем понятно. Можно чуть подробнее. Что-то вроде этого надо записать? z = ddemod(Idi, Fc, Fd, Fs, 'qask/arb', M, opt1, opt2, opt3, opt4); Но тут я не знаю откуда взять параметры: Fd, Fs, M, opt1, opt2... И как мне затем отсюда выразить 1-ю гармонику? Изменено 23 ноября, 2012 пользователем Stefan1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DRUID3 0 23 ноября, 2012 Опубликовано 23 ноября, 2012 · Жалоба Сигнал выглядит так: ... Знаю я только частоту несущей. ... Что-то не совсем понятно. Да уж... Действительно непонятно. И непонятен сам закон модуляции - а как тогда можно что-то реконструировать? Что это у Вас на картинке? Огибающая? Или сам сигнал? И что тогда значит "несущая"? Первая гармоника? Можно чуть подробнее. ... не имеет смысла. Я думал у Вас нечто вроде радиоимпульса. А во вских ddemod() я не разбираюсь. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Stefan1 0 23 ноября, 2012 Опубликовано 23 ноября, 2012 (изменено) · Жалоба Да уж... Действительно непонятно. И непонятен сам закон модуляции - а как тогда можно что-то реконструировать? Что это у Вас на картинке? Огибающая? Или сам сигнал? И что тогда значит "несущая"? Первая гармоника? Это сам сигнал. Несущая - имею ввиду частоту с которой следуют эти импульсы с провалом посередине (т.е. на графике период равен 0.77 с). Мне надо отфильтровать все высшие гармоники и низкочастотную составляющую модулирующего сигнала, оставить только 1-ю гармонику несущего сигнала (а не 1-ю гармонику модулирующего сигнала). Если обнулить все высшие гармоники, кроме второй: idi([1 3:length(idi)-1])=0; то у меня будет 1-я гармоника НЧ модулирующего сигнала: А как раз ее мне и надо убрать. Изменено 23 ноября, 2012 пользователем Stefan1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DRUID3 0 23 ноября, 2012 Опубликовано 23 ноября, 2012 · Жалоба Это сам сигнал. Несущая - имею ввиду частоту с которой следуют эти импульсы с провалом посередине (т.е. на графике период равен 0.77 с)....это тактовая - частота первой гармоники. Мне надо отфильтровать все высшие гармоники и низкочастотную составляющую модулирующего сигнала, оставить только 1-ю гармонику несущего сигнала (а не 1-ю гармонику модулирующего сигнала). ...ну так за чем дело стало? Если обнулить все высшие гармоники, кроме второй: idi([1 3:length(idi)-1])=0; то у меня будет 1-я гармоника НЧ модулирующего сигнала: А как раз ее мне и надо убрать. ...ну так выделите 1-ую. или в вашей нумерации это уже постоянная составляющая? Так значит Вы уже выделили ту, что нужно. А колеблется она потому как это никакая не АМ, а обычный спектр сигнала и это самая обычная его первая гармоника - в разные периоды доля энергии сигнала на нее выпадает разная оттуда и колебания. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Stefan1 0 23 ноября, 2012 Опубликовано 23 ноября, 2012 (изменено) · Жалоба ...ну так выделите 1-ую. или в вашей нумерации это уже постоянная составляющая? Так значит Вы уже выделили ту, что нужно. А колеблется она потому как это никакая не АМ, а обычный спектр сигнала и это самая обычная его первая гармоника - в разные периоды доля энергии сигнала на нее выпадает разная оттуда и колебания. Значит мне не она нужна. Мне нужна 1-я гармоника (имею ввиду обычную синусоиду, без высших гармоник) у которой должен быть период тот же, что и у несущей - 0.77 с. Изменено 23 ноября, 2012 пользователем Stefan1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DRUID3 0 23 ноября, 2012 Опубликовано 23 ноября, 2012 · Жалоба Значит мне не она нужна. Мне нужна 1-я гармоника (имею ввиду обычную синусоиду, без высших гармоник) у которой должен быть период тот же, что и у несущей - 0.77 с. Я понял. Тем графиком(последним) Вы отрисовали гармонику(период показали) а я думал изменение этой гармоники от фрейма к фрейму. Ясно... Но... я так и не понял Ваших затруднений. Я не знаю синтаксис матлаба. Но в чем затруднение то? Сделайте FFT. Пройдитесь пороговой функцией(этож полноценный скриптовый язык) и выделите гармонику с номером 1 превышающую определенный порог. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Stefan1 0 23 ноября, 2012 Опубликовано 23 ноября, 2012 (изменено) · Жалоба Пройдитесь пороговой функцией(этож полноценный скриптовый язык) и выделите гармонику с номером 1 превышающую определенный порог. А что это за пороговая функция? Т.е. под порогом Вы имеете ввиду количество низкочастотных гармоник, которые надо отбросить для того, чтобы оставить нужную мне? И как это сделать в матлабе, в ручную подбирать по внешнему виду? Изменено 23 ноября, 2012 пользователем Stefan1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DRUID3 0 25 ноября, 2012 Опубликовано 25 ноября, 2012 · Жалоба А что это за пороговая функция? Т.е. под порогом Вы имеете ввиду количество низкочастотных гармоник, которые надо отбросить для того, чтобы оставить нужную мне? И как это сделать в матлабе, в ручную подбирать по внешнему виду? Приведите график спектра всего своего сигнала включая постоянную составляющую... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Stefan1 0 26 ноября, 2012 Опубликовано 26 ноября, 2012 (изменено) · Жалоба Приведите график спектра всего своего сигнала включая постоянную составляющую... Привожу: Изменено 26 ноября, 2012 пользователем Stefan1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Navstar 0 22 мая, 2013 Опубликовано 22 мая, 2013 · Жалоба Кто нибудь считал огибающую по Гильберту? Например нужно продетектировать АМ-сигнал пробовал на делфи написал процедуру нахождения комплексно сопряженного сигнала. Огибающая - корень квадратный из сигнала и его огибающей. Результат отрицательный:( procedure Hilbert(var a : Array of Single); var b: array[0..bitlim] of single; theta,t:integer; begin for t:=0 to maxpoint do begin for theta:=0 to maxpoint do if not(t-theta)=0 then b[t]:=(a[theta]/(t-theta)); b[t]:=b[t]/Pi end; for t:=0 to maxpoint do a[t]:=b[t]; end; Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Serg76 0 22 мая, 2013 Опубликовано 22 мая, 2013 · Жалоба Гильберт позволяет получить комплексный аналитический сигнал из вещественного, строится как обычный КИХ фильтр. Чтобы получить НЧ огибающую Вашего сигнала, необходимо снести сигнал с несущей в 0, далее sqrt(I*I + Q*Q) для каждого отсчета + ФНЧ с соответствующей частотой среза, т.е. все так как писал выше DRUID3. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться