реклама на сайте
подробности

 
 
4 страниц V   1 2 3 > »   
Reply to this topicStart new topic
> Симуляция ЧМ сигнала содержащего музыку, Вопрос спецам
ACiDUser
сообщение Feb 10 2009, 15:29
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 25
Регистрация: 9-12-08
Пользователь №: 42 321



Всем привет!

Есть DAQ плата для приёма ЧМ радио сигналов, но она еще не готова. Поэтому работаю над алгоритмами демодуляции ЧМ сигналов. И чтобы проверить их работу пытаюсь симулировать ЧМ сигнал. Работаю в среде LabView. Мне нужно симулировать ЧМ сигнал который содержит

информацию подобно музыке.

Прочитал множество статей на тему ЧМ модуляция, но везде описан самый простейший

пример ЧМ модуляции с использованием только одной синусоидальной гармоники.

Основное математическое выражение:

FM = A*Cos(2*pi*Fc*t + M*Sin(2*pi*Fm*t))

где: A - амплитуда, Fc - несущая частота, M - индекс модуляции, Fm - модулирующий

сигнал (сигнал несущий информацию)

A = 1, Fc = 60, M = 5, Fm = 5.

Пытался добавить еще одну гармонику путем сложения как: FM = A*Cos(2*pi*Fc*t +

M*(Sin(2*pi*Fm*t)+Sin(2*pi*3*Fm*t)) - добавил еще одну синусоиду с частотой в 3

раза больше чем у первой.

Но, кажется, это неверный подход к решению этой задачи, потому что я могу

восстановиться модулирующий сигнал если он только с одной гармоникой. А когда

добавляю еще одну - после демодуляции получаю неверный сигнал. Значит где-то я

ошибаюсь в самой модуляции ЧМ, т.е. это сложнее чем просто прибавить синус.

Когда мы слушаем музыку - мы слышим звуки на разных частотах одновременно начиная

с басов 60Гц и заканчивая высокочастотными звуками до 15КГц.

Может кто-нибудь объяснить как отличается ЧМ модуляция с одной гармоникой и

модуляция с несколькими гармониками?
Или хотя-бы указать на соответствующую литературу.

Заранее благодарен.
Go to the top of the page
 
+Quote Post
INT1
сообщение Feb 10 2009, 19:06
Сообщение #2


deleted
****

Группа: Свой
Сообщений: 555
Регистрация: 28-08-05
Пользователь №: 8 024



Не уверен, что в реалтайме симулятор сможет смоделировать спектр WFM (посчитать ф-ции Бесселя):
"...нельзя рассматривать воздействие каждой гармоники этого сигнала по отдельности, для нахождения спектра следует вести расчеты для каждой формы сигнала, которая нас интересует. Такие расчеты зачастую оказываются очень громоздкими, и вообще не всегда возможны...."
http://www.physdep.isu.ru/method/rtcs/Theory/spectrumfm.htm
ЗЫ, немного порылся в сети, здесь немного про железо и про математику:
http://www.williamspublishing.com/PDF/5-8459-0715-2/part.pdf
Go to the top of the page
 
+Quote Post
Guest_TSerg_*
сообщение Feb 11 2009, 09:45
Сообщение #3





Guests






Цитата(ACiDUser @ Feb 10 2009, 18:29) *


Для ФМ
Sf(t) = Ao * Cos( Wo + Ph(t) );
Ph(t) = k * Sm(t);

Sm(t) - модулирующий сигнал произвольного вида.

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

Для ЧМ
W(t) = Wo + k * Sm(t); мгновенная частота
И сам сигнал
Sf(t) = Ao * Cos (W(t))
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Feb 11 2009, 10:38
Сообщение #4


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Цитата(ACiDUser @ Feb 10 2009, 16:29) *
Основное математическое выражение:

FM = A*Cos(2*pi*Fc*t + M*Sin(2*pi*Fm*t))

где: A - амплитуда, Fc - несущая частота, M - индекс модуляции, Fm - модулирующий


А формула-то неверна.
Нужно так:

FM = A*Cos(2*pi*Fc*t + (M/Fm)*sin(2*pi*Fm*t));
Go to the top of the page
 
+Quote Post
ACiDUser
сообщение Feb 12 2009, 01:05
Сообщение #5


Участник
*

Группа: Новичок
Сообщений: 25
Регистрация: 9-12-08
Пользователь №: 42 321



Спасибо за ответы!

Долго мучался откуда эти " k " - берутся. Вроде как для радио целая таблица этих констант есть.

А можно (M/Fm) заменить на D девиацию и упростить как FM = A*Cos(2*pi*Fc*t + D*sin(2*pi*Fm*t)); ??

Просто с этим индексом модуляции постоянно путаюсь, проще в понимании вводить девиацию а индекс уже высчитывать.
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Feb 12 2009, 05:36
Сообщение #6


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Цитата(ACiDUser @ Feb 12 2009, 03:05) *
Спасибо за ответы!

Долго мучался откуда эти " k " - берутся. Вроде как для радио целая таблица этих констант есть.

А можно (M/Fm) заменить на D девиацию и упростить как FM = A*Cos(2*pi*Fc*t + D*sin(2*pi*Fm*t)); ??

Просто с этим индексом модуляции постоянно путаюсь, проще в понимании вводить девиацию а индекс уже высчитывать.


Нет,нельзя. Девиация Fd = M*Fm,если плясать от девиации тогда уж

FM = A*Cos(2*pi*Fc*t + (Fd / Fm^2)*sin(2*pi*Fm*t))
Go to the top of the page
 
+Quote Post
ACiDUser
сообщение Feb 12 2009, 18:08
Сообщение #7


Участник
*

Группа: Новичок
Сообщений: 25
Регистрация: 9-12-08
Пользователь №: 42 321



Цитата(_Anatoliy @ Feb 12 2009, 09:36) *
Нет,нельзя. Девиация Fd = M*Fm,если плясать от девиации тогда уж

FM = A*Cos(2*pi*Fc*t + (Fd / Fm^2)*sin(2*pi*Fm*t))



Так не получается. Если я так делаю то - ничего не происходит. Прикрепляю виртуальный иснтрумент который я сделал, работает с другой формулой. Я сначала беру информационный сигнал Sm(t)=sin(2*pi*Fm*t)+0.8*sin(2*pi*Fm*3*t); состоящий из 2-х гармоник, интегрирую его, затем уже работает следующая формула FM(t) = A*sin(2*pi*Fc*t+D*Sm(t)));

Если я этот D делю на Fm^2, то изменения очень малы и практически не заметны. Не может несущая частотата так сильно отклоняться (если она установлена на 60Гц) то, мне кажется отклонение в 100 раза большее - это чтото нереальное. Может я еще чего-то не учел, что должно было компенсировать это.

http://en.wikipedia.org/wiki/Frequency_modulation

Как показано на прикрепленной формуле: ... + 2*Pi*Fd * Интеграл от Sm(t)

Fd - девиация. Тоесть можно записать ... Wd * Интеграл от Sm(t)
Wd - угловая девиация

Сообщение отредактировал ACiDUser - Feb 12 2009, 18:09
Прикрепленные изображения
Прикрепленное изображение
 

Прикрепленные файлы
Прикрепленный файл  FM_modulation.rar ( 91.79 килобайт ) Кол-во скачиваний: 21
 
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Feb 12 2009, 18:40
Сообщение #8


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Цитата(ACiDUser @ Feb 12 2009, 20:08) *


LabView у меня нет,файл не раскрыл.Почитайте похожую тему:
http://www.telesys.ru/wwwboards/dsp/299/me...es/108893.shtml

Если нужно могу завтра скинуть матлабовский скрипт ЧМ модулятора-демодулятора по которому я делал реальный проект демодулятора ЧМ на FPGA.
Go to the top of the page
 
+Quote Post
ACiDUser
сообщение Feb 12 2009, 19:00
Сообщение #9


Участник
*

Группа: Новичок
Сообщений: 25
Регистрация: 9-12-08
Пользователь №: 42 321



Мы тоже работаем с FPGA но вся обработка только на компьютере производится. Я кажется понял в чем тут дело. Когда мы интегрируем синус или косинус, то констанка та что перед "t" идет в знаменатель, функция меняется на противоположную. Тоесть в данном случае в знаменатель идут 2*pi*Fm а в числителе 2*Pi*Fd (Fd - девиация) отсюда после сокращения имеем - Fd / Fm = M (индекс модуляции). А чтобы открыть программу нужен LabView Run-Time Engine можно скачать отсюда ftp://ftp.ni.com/support/labview/windows/...VRunTimeEng.exe (32.7 MB)

Сообщение отредактировал ACiDUser - Feb 12 2009, 19:01
Go to the top of the page
 
+Quote Post
ACiDUser
сообщение Feb 13 2009, 01:14
Сообщение #10


Участник
*

Группа: Новичок
Сообщений: 25
Регистрация: 9-12-08
Пользователь №: 42 321



Цитата(_Anatoliy @ Feb 12 2009, 22:40) *
Если нужно могу завтра скинуть матлабовский скрипт ЧМ модулятора-демодулятора по которому я делал реальный проект демодулятора ЧМ на FPGA.



А какой метод демодуляции использовал?

Я как-бы уже реализовал два метода остался 3-й - PLL.
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Feb 13 2009, 07:06
Сообщение #11


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Цитата(ACiDUser @ Feb 13 2009, 02:14) *
А какой метод демодуляции использовал?

Я как-бы уже реализовал два метода остался 3-й - PLL.


А такой пробовал?
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
ACiDUser
сообщение Feb 13 2009, 16:20
Сообщение #12


Участник
*

Группа: Новичок
Сообщений: 25
Регистрация: 9-12-08
Пользователь №: 42 321



Цитата(_Anatoliy @ Feb 13 2009, 11:06) *
А такой пробовал?


Хмм что-то знакомое. А как он по научному называется?

Дело в том что я ни в одном своем методе не использовал I,Q данные.

Вот один способ, называется Детектор Кривизны или Детектор Огибающей
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Feb 13 2009, 16:38
Сообщение #13


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Цитата(ACiDUser @ Feb 13 2009, 18:20) *
Хмм что-то знакомое. А как он по научному называется?

Дело в том что я ни в одном своем методе не использовал I,Q данные.

Вот один способ, называется Детектор Кривизны или Детектор Огибающей


Хм,диод...Так ты аналоговый детектор делал?
Go to the top of the page
 
+Quote Post
ACiDUser
сообщение Feb 13 2009, 17:13
Сообщение #14


Участник
*

Группа: Новичок
Сообщений: 25
Регистрация: 9-12-08
Пользователь №: 42 321



Не Не, только цифровой. Просто этот элемент эквивалентен Диоду. Только положительную волну пропускает.
Go to the top of the page
 
+Quote Post
ACiDUser
сообщение Feb 13 2009, 18:19
Сообщение #15


Участник
*

Группа: Новичок
Сообщений: 25
Регистрация: 9-12-08
Пользователь №: 42 321



Еще делал с детектированием Нулей. Zero-Crossing Detector
Go to the top of the page
 
+Quote Post

4 страниц V   1 2 3 > » 
Reply to this topicStart new topic
6 чел. читают эту тему (гостей: 6, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 07:25
Рейтинг@Mail.ru


Страница сгенерированна за 0.01496 секунд с 7
ELECTRONIX ©2004-2016