Целочисленная FM-демодуляция - PullRequest
0 голосов
/ 29 июля 2009

Какие методы программного обеспечения (или ПЛИС) подходят для FM-демодуляции? Я экспериментировал в MATLAB, чтобы попытаться сделать правильный алгоритм, но я основывал его на аналоговом справочном материале с ограниченными результатами. Я могу разобрать звук, но есть ужасные искажения, которые я не могу исправить с помощью фильтрации. В конечном счете, я хочу использовать целочисленную реализацию на ПЛИС, но сначала мне нужно, чтобы базовая демодуляция работала.

БПФ показывает, что спектр был перемещен обратно вниз, чтобы быть центрированным вокруг постоянного тока, но это просто не звучит правильно.

1 Ответ

2 голосов
/ 29 июля 2009

Если вы уже слышите звук, то я бы сказал, что вы в основном там. Это может помочь, если вы объясните (или вставите) некоторый код / ​​алгоритм, который вы используете, а также опишите шум как можно лучше.

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

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

...