|
|
  |
Вычленение огибающей частоты на фоне несущей, Расчет в Матлаб |
|
|
|
Nov 22 2012, 23:25
|

Профессионал
    
Группа: Свой
Сообщений: 1 818
Регистрация: 15-10-09
Из: Владивосток
Пользователь №: 52 955

|
Цитата(Stefan1 @ Nov 23 2012, 05:02)  модулированного низкой частотой и выделении из него первой гармоники - у меня получается первая гармоника этого модулирующего сигнала, а мне нужна 1-я гармоника несущего сигнала. Насколько я понял, это тема не про демодуляцию. Уточнитесь со способом модуляции. Для правильно модулированного сигнала в спектре ВООБЩЕ не должно быть НЧ составляющих. Для АМ нужно искать надо не первую гармонику, а максимальную спектральную составляющую. При ЧМ мне непонятем смысл 1-й гармоники несущего сигнала. Он там весь несущий, и его частота меняется по закону модуляции.
|
|
|
|
|
Nov 23 2012, 05:33
|

山伏
    
Группа: Свой
Сообщений: 1 827
Регистрация: 3-08-06
Из: Kyyiv
Пользователь №: 19 294

|
Цитата(Stefan1 @ Nov 22 2012, 21:02)  Подскажите: как можно вычлененить огибающую частоту на фоне несущей цифровыми методами?  да уж... Гоноровский ворочается в гробу наверное. "Цифровые методы" не изменились со времен открытия радио, это аппаратная часть менялась. Нужно продетектировать как АМ, а потом работать с НЧ - это и есть огибающая. Детектировать АМ "цифровыми способами" просто. Если сигнал комплексный - то sqrt(I*I + Q*Q) для каждого отсчета + ФНЧ с соответствующей частотой среза (мы же по-сути длину комплексного вектора ищем). Если действительный - то abs(S) + ФНЧ. Если нужен "реал-тайм" а ресурсов не хватает - есть аппроксимация для sqrt(I*I + Q*Q). Можно и еще рядом способом - но это простейшие.
--------------------
Нас помнят пока мы мешаем другим... //-------------------------------------------------------- Хороший блатной - мертвый... //-------------------------------------------------------- Нет старик, это те дроиды которых я ищу...
|
|
|
|
|
Nov 23 2012, 07:14
|
Местный
  
Группа: Участник
Сообщений: 414
Регистрация: 7-04-11
Из: Москва
Пользователь №: 64 187

|
Цитата(V_G @ Nov 23 2012, 02:25)  Уточнитесь со способом модуляции... Сигнал выглядит так:
У этого сигнала провал посередине. Период сигнала = 0.77 с. Мне нужно вывести на график 1-ю гармонику с тем же периодом 0.77 с. При этом частот модуляции я не знаю, знаю только частоту несущей. Цитата(V_G @ Nov 23 2012, 02:25)  Если сигнал комплексный - то sqrt(I*I + Q*Q) для каждого отсчета + ФНЧ с соответствующей частотой среза Что-то не совсем понятно. Можно чуть подробнее. Что-то вроде этого надо записать? z = ddemod(Idi, Fc, Fd, Fs, 'qask/arb', M, opt1, opt2, opt3, opt4); Но тут я не знаю откуда взять параметры: Fd, Fs, M, opt1, opt2... И как мне затем отсюда выразить 1-ю гармонику?
Сообщение отредактировал Stefan1 - Nov 23 2012, 19:02
|
|
|
|
|
Nov 23 2012, 08:10
|

山伏
    
Группа: Свой
Сообщений: 1 827
Регистрация: 3-08-06
Из: Kyyiv
Пользователь №: 19 294

|
Цитата(Stefan1 @ Nov 23 2012, 09:14)  Сигнал выглядит так: ... Знаю я только частоту несущей. ... Что-то не совсем понятно. Да уж... Действительно непонятно. И непонятен сам закон модуляции - а как тогда можно что-то реконструировать? Что это у Вас на картинке? Огибающая? Или сам сигнал? И что тогда значит "несущая"? Первая гармоника? Цитата(Stefan1 @ Nov 23 2012, 09:14)  Можно чуть подробнее. ... не имеет смысла. Я думал у Вас нечто вроде радиоимпульса. А во вских Цитата(Stefan1 @ Nov 23 2012, 09:14)  ddemod() я не разбираюсь.
--------------------
Нас помнят пока мы мешаем другим... //-------------------------------------------------------- Хороший блатной - мертвый... //-------------------------------------------------------- Нет старик, это те дроиды которых я ищу...
|
|
|
|
|
Nov 23 2012, 08:23
|
Местный
  
Группа: Участник
Сообщений: 414
Регистрация: 7-04-11
Из: Москва
Пользователь №: 64 187

|
Цитата(DRUID3 @ Nov 23 2012, 11:10)  Да уж... Действительно непонятно. И непонятен сам закон модуляции - а как тогда можно что-то реконструировать? Что это у Вас на картинке? Огибающая? Или сам сигнал? И что тогда значит "несущая"? Первая гармоника? Это сам сигнал. Несущая - имею ввиду частоту с которой следуют эти импульсы с провалом посередине (т.е. на графике период равен 0.77 с). Мне надо отфильтровать все высшие гармоники и низкочастотную составляющую модулирующего сигнала, оставить только 1-ю гармонику несущего сигнала (а не 1-ю гармонику модулирующего сигнала). Если обнулить все высшие гармоники, кроме второй: idi([1 3:length(idi)-1])=0; то у меня будет 1-я гармоника НЧ модулирующего сигнала:
А как раз ее мне и надо убрать.
Сообщение отредактировал Stefan1 - Nov 23 2012, 08:29
|
|
|
|
|
Nov 23 2012, 08:44
|

山伏
    
Группа: Свой
Сообщений: 1 827
Регистрация: 3-08-06
Из: Kyyiv
Пользователь №: 19 294

|
Цитата(Stefan1 @ Nov 23 2012, 10:23)  Это сам сигнал. Несущая - имею ввиду частоту с которой следуют эти импульсы с провалом посередине (т.е. на графике период равен 0.77 с). ...это тактовая - частота первой гармоники. Цитата(Stefan1 @ Nov 23 2012, 10:23)  Мне надо отфильтровать все высшие гармоники и низкочастотную составляющую модулирующего сигнала, оставить только 1-ю гармонику несущего сигнала (а не 1-ю гармонику модулирующего сигнала). ...ну так за чем дело стало? Цитата(Stefan1 @ Nov 23 2012, 10:23)  Если обнулить все высшие гармоники, кроме второй: idi([1 3:length(idi)-1])=0; то у меня будет 1-я гармоника НЧ модулирующего сигнала: А как раз ее мне и надо убрать. ...ну так выделите 1-ую. или в вашей нумерации это уже постоянная составляющая? Так значит Вы уже выделили ту, что нужно. А колеблется она потому как это никакая не АМ, а обычный спектр сигнала и это самая обычная его первая гармоника - в разные периоды доля энергии сигнала на нее выпадает разная оттуда и колебания.
--------------------
Нас помнят пока мы мешаем другим... //-------------------------------------------------------- Хороший блатной - мертвый... //-------------------------------------------------------- Нет старик, это те дроиды которых я ищу...
|
|
|
|
|
Nov 23 2012, 09:04
|
Местный
  
Группа: Участник
Сообщений: 414
Регистрация: 7-04-11
Из: Москва
Пользователь №: 64 187

|
Цитата(DRUID3 @ Nov 23 2012, 11:44)  ...ну так выделите 1-ую. или в вашей нумерации это уже постоянная составляющая? Так значит Вы уже выделили ту, что нужно. А колеблется она потому как это никакая не АМ, а обычный спектр сигнала и это самая обычная его первая гармоника - в разные периоды доля энергии сигнала на нее выпадает разная оттуда и колебания. Значит мне не она нужна. Мне нужна 1-я гармоника (имею ввиду обычную синусоиду, без высших гармоник) у которой должен быть период тот же, что и у несущей - 0.77 с.
Сообщение отредактировал Stefan1 - Nov 23 2012, 09:04
|
|
|
|
|
Nov 23 2012, 09:39
|
Местный
  
Группа: Участник
Сообщений: 414
Регистрация: 7-04-11
Из: Москва
Пользователь №: 64 187

|
Цитата(DRUID3 @ Nov 23 2012, 12:23)  Пройдитесь пороговой функцией(этож полноценный скриптовый язык) и выделите гармонику с номером 1 превышающую определенный порог. А что это за пороговая функция? Т.е. под порогом Вы имеете ввиду количество низкочастотных гармоник, которые надо отбросить для того, чтобы оставить нужную мне? И как это сделать в матлабе, в ручную подбирать по внешнему виду?
Сообщение отредактировал Stefan1 - Nov 23 2012, 16:17
|
|
|
|
|
Nov 26 2012, 10:13
|
Местный
  
Группа: Участник
Сообщений: 414
Регистрация: 7-04-11
Из: Москва
Пользователь №: 64 187

|
Цитата(DRUID3 @ Nov 25 2012, 08:12)  Приведите график спектра всего своего сигнала включая постоянную составляющую... Привожу:
Сообщение отредактировал Stefan1 - Nov 26 2012, 10:35
|
|
|
|
|
May 22 2013, 14:18
|
Участник

Группа: Участник
Сообщений: 32
Регистрация: 29-11-09
Пользователь №: 53 951

|
Кто нибудь считал огибающую по Гильберту? Например нужно продетектировать АМ-сигнал пробовал на делфи написал процедуру нахождения комплексно сопряженного сигнала. Огибающая - корень квадратный из сигнала и его огибающей. Результат отрицательный  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;
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|