Перейти к содержанию
    

Как наблюдать периодичность цифрового спектра и изменить ее

Насколько я себе представляю, если мы берем n выборок сигнала и делаем БПФ, мы получаем лишь часть спектра, которая находится в полосе 0...fд.

Гармонический сигнал представляется 2 палочками в этом диапазоне. Насколько я понимаю, как-то же можно его промоделировать так, чтобы получить диапазон частот 0...4fд, например?

 

Но если мы имеем бесконечное число палок в частотной области, мы же можем рассмотреть сразу период 0...4fd, а остальную бесконечную периодичность в спектре убрать?

Мне очень интересно, а что тогда случится с формой сигнала?

 

Я попробовал смоделировать это, только выполняя ресемплинг во временной области, но то ли я получил? Что я вообще получил, по-вашему? Почему палочки такие маленькие кроме 2 основных? Частота дискретизации fд = 20 кГц. На рисунке сделал - 40 кГц наблюдение.

post-88647-1454332946_thumb.png

 

А в идеале же мне нужно, чтобы просто в диапазоне 0...4fд был спектр, а дальше его не было бы. Или даже так: чтобы в этом диапазоне был спектр, повторяющийся через fд, а дальше через 4fд повторялся уже цельный спектр 0...4fд. Я не могу провернуть это в Simulink. Что предлагаете? Как проще сделать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А в идеале же мне нужно, чтобы просто в диапазоне 0...4fд был спектр, а дальше его не было бы. Или даже так: чтобы в этом диапазоне был спектр, повторяющийся через fд, а дальше через 4fд повторялся уже цельный спектр 0...4fд. Я не могу провернуть это в Simulink. Что предлагаете? Как проще сделать?

Здесь нужно поднять частоту дискретизации в 2 раза.

"Или даже так: чтобы в этом диапазоне был спектр, повторяющийся через fд, а дальше через 4fд повторялся уже цельный спектр 0...4fд." - чтобы спектр повторялся, это бред. Он как есть так и есть.

Вот у вас есть палка - 1 кГц. Это и есть основная гармоника сигнала. Палка, та что справа это 39 кГц (=40кГц-1кГц) - это зеркальная гармоника основной гармоники.

Маленькие гармоники - это я так понял 21 кГц = 20 кГц + 1 кГц, то есть смешалась основная частота и частота дискретизации. Соответственоо 19 кГц (= 20 кГц - 1 кГц) или 21 кГц с конца - это зеркальная гармоника.

"Но если мы имеем бесконечное число палок в частотной области, мы же можем рассмотреть сразу период 0...4fd, а остальную бесконечную периодичность в спектре убрать?

Мне очень интересно, а что тогда случится с формой сигнала?"

Мы не имеем бесконечное число палок в частотной области, там 4 палки. Можно зайти за 2Fд и дойти до 4Fд, ну и в принципе хоть докуда, хоть до бесконечности, там ничего не будет. С формой сигнала ничего не случится, она так и останется, как на картинке.

Изменено пользователем Molotov

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Тогда ничего не понял. Давайте сначала. Здесь спектр дискретизированного сигнала уходит в бесконечность и убывает по синк-функции: http://jstonline.narod.ru/rsw/rsw_f0/rsw_f0a0/rsw_f0a0c.htm Как вы можете утверждать, что выше четырех частот дискретизации ничего нет? Возьмите точки в два раза чаще, затем в 4 раза чаще и тп. Вы получите все тот же сигнал, только будет больше информации о нем (точек), то есть частоты более высоких порядков - все тот же сигнал, тогда как при аналоговой форме такого невозможно - нельзя поставить точку не там, где она уже стоит. Следовательно, имеется множество вариантов создания дополнительных гармоник. Я довольно хорошо осмыслил это все, прежде чем задавать вопрос.

А для демодулятора тоже есть вот такая вещь: http://digteh.ru/digital/subdiskr.php

Я как-то хочу смоделировать как генерацию высших гармоник с помощью дискретизированной основной, так и их прием.

Такое ощущение, что преграда только в Вашем сознании, либо же в нежелании помочь:) Либо переубедите меня.

Давайте подробнее, я ведь не просто так спрашиваю.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

По моему преграда как раз в Вашем сознании. В преобразовании Фурье очень четко задается частота, которая будет крайняя справа на частотном графике(спектре). И другую частоту Вы подставить не можете, хоть Вы об стенку разбейтесь, но 4Fд или бесконечность туде не можете подставить. Там есть строгая зависимость от периода частоты дискретизации. Правда я не помню формулу, примерно она такая: Fсправа = 1/Tд или Fсправа = 2(1/Tд), где Tд - период частоты дискретизации.

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

Такое ощущение, что преграда только в Вашем сознании, либо же в нежелании помочьsm.gif Либо переубедите меня.

Давайте подробнее, я ведь не просто так спрашиваю." - Разговаривайте со мной повежливее, а то помогать уже никакого желания нет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я не могу провернуть это в Simulink. Что предлагаете? Как проще сделать?

В чем проблема смоделировать это в симулинке - в качестве исходного сигнала используйте какой-нибудь синус, хотя бы с NCO генератора с частотой дискретизации Fs, на выходе поставьте анализатор спектра размером N и наблюдайте спектр от 0 до Fs/2. Параллельно сделайте повышение частоты исходного сигнала в 4 раза и поставьте такой же анализатор спектра и наблюдайте спектр от 0 до Fs*2 (у него при том же размере и разрешение будет в 4 раза лучше). Если же Вы хотите использовать FFT на частоте дискретизации Fs, а наблюдать спектр на частоте >Fs/2, то можете для начала почитать теорему Котельникова.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

... Если же Вы хотите использовать FFT на частоте дискретизации Fs, а наблюдать спектр на частоте >Fs/2, то можете для начала почитать теорему Котельникова.

Ну, вообще-то можно наблюдать спектр на частотах >Fs/2 :laughing:

И без всяких, чуждых нам, симулинков... :rolleyes:

 

На картинке ЛЧМ- сигнал 5-110 Гц с несимметричным ограничением амплитуды.

Частота Найквиста 250 Гц

post-71096-1454507556_thumb.jpg

Изменено пользователем Santik

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну, вообще-то можно наблюдать спектр на частотах >Fs/2 :laughing:

И без всяких, чуждых нам, симулинков... :rolleyes:

Я как бы практик больше, и если мне нужно посмотреть спектр синусоиды (при чем здесь ЛЧМ?), что на моделировании, что в реальном железе, то возьму готовый блок FFT, который работает на частоте Fs и выдает спектр от -Fs/2 до + Fs/2 или от 0 до Fs/2.

 

Собрал модель - синус 50кГц, частота дискретизации 1МГц, параллельно снизу понижение частоты дискретизации на 35. В результате имею два разных результата для FFT.

post-53082-1454512322_thumb.png

post-53082-1454512527_thumb.png

post-53082-1454512534_thumb.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Собрал модель - синус 50кГц, частота дискретизации 1МГц, параллельно снизу понижение частоты дискретизации на 35. В результате имею два разных результата для FFT.

 

Во втором случае вы получили aliasing. Fs = 1 МГц/35 = ~28,6 кГц, что не соответствует теореме Котельникова. На спектроанализаторе гармоника abs(F0 - 2*Fs) = abs(50-2*28,6) ~ 7.2 кГц.

 

Вроде бы вопрос ТС был про другое - про периодичность спектра дискретного сигнала, когда условие теоремы отсчетов соблюдено.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я как бы практик больше, и если мне нужно посмотреть спектр синусоиды (при чем здесь ЛЧМ?)...

 

Хорошо, давайте возьмём синусоиду 200 Гц с ЧМ (синусом) , но только ограниченную симметрично по уровню 0.9

 

post-71096-1454519674_thumb.jpg

 

На спектрограмме хорошо видны гармоники , которые выше FN (частоты Найквиста) и даже выше Fd...

Просто они "сползли" в диапазон 0-FN

 

Насколько я понял вопрос ТС его интересует возможность восстановления "истинного спектра".

Мой ответ - в общем случае это невозможно.

А в частном (см. картинку) - запросто!

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Motolov, извините, если показался грубым. Я просто говорю факты, как понимаю, хотя может и что-то не так понял:) Так вот, если взять не БПФ, а самому написать ДПФ, то можно задавать любые частоты, хоть 2fд, хоть 3fд и тп. Тогда можно сделать из 200 выборок сигнала, например, 600 выборок спектра. Формула про зависимости от длительности сигнала на входе БПФ и количества выборок частоты дискретизации для меня априори понятна, потому что я ей пользуюсь почти каждый день сейчас.

 

Действительно, вопрос заключается именно в том, как наблюдать цифровую периодичность спектра, как это вообще проверяется, как проще? А вообще мой вопрос немного шире: как смоделировать обрезание аналоговым фильтром полосы, скажем, 0...3fд, а не 0...fд.

 

Как можно использовать алиасинг - я не до конца понял, хотя Вы навели меня на более интересную идею c алиасингом. Но чтобы убедиться, прошу подробнее.

 

 

В чем проблема смоделировать это в симулинке - в качестве исходного сигнала используйте какой-нибудь синус, хотя бы с NCO генератора с частотой дискретизации Fs, на выходе поставьте анализатор спектра размером N и наблюдайте спектр от 0 до Fs/2. Параллельно сделайте повышение частоты исходного сигнала в 4 раза и поставьте такой же анализатор спектра и наблюдайте спектр от 0 до Fs*2 (у него при том же размере и разрешение будет в 4 раза лучше). Если же Вы хотите использовать FFT на частоте дискретизации Fs, а наблюдать спектр на частоте >Fs/2, то можете для начала почитать теорему Котельникова.

Смоделировал в Simulink спектр от 0 до Fs/2. А какой блок может этот ресемплинг сделать, как он называется? Или можете подробнее?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Действительно, вопрос заключается именно в том, как наблюдать цифровую периодичность спектра, как это вообще проверяется, как проще? А вообще мой вопрос немного шире: как смоделировать обрезание аналоговым фильтром полосы, скажем, 0...3fд, а не 0...fд.

это весьма просто.

недавно совсем обсуждали похожие вопросы в теме про АЦП.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Во втором случае вы получили aliasing. Fs = 1 МГц/35 = ~28,6 кГц, что не соответствует теореме Котельникова. На спектроанализаторе гармоника abs(F0 - 2*Fs) = abs(50-2*28,6) ~ 7.2 кГц.

Я именно это и хотел показать, хотя неоднозначность можно решить имея несколько "линеек", т.е. несколько частот дискретизации.

Насколько я понял вопрос ТС его интересует возможность восстановления "истинного спектра".

Вроде бы вопрос ТС был про другое - про периодичность спектра дискретного сигнала, когда условие теоремы отсчетов соблюдено.

Да, неправильно вопрос понял, :smile3046:

 

А какой блок может этот ресемплинг сделать, как он называется? Или можете подробнее?

Ключевые слова - децимация/интерполяция, в библиотеке simulink простейшие блоки upsample/downsample, а дальше help, ну или еше проще - перед scope можно поставить линию задержки (delay) с указанием требуемой новой частоты дискретизации.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Слово aliasing зарубежное какое-то, там просто частота дискретизации ниже чем частота сигнала.

Fд = 28,6 кГц,

Fсигнала = 50 кГц.

Что естественно не удовлетворяет теореме Котельникова.

Я посмторел свой проект и там в общем частота дискретизации 8 кГц.

Видны 2 сигнала, т.е. 2 частоты. Исходный сигнал был смесь этих частот.

Преобразование Фурье выполнено верно. В левой части находятся настоящие гармоники, в правой части находятся зеркальные гармоники. Частота крайняя справа - 8 кГц.

Чтобы избавиться от зеркальных гармоник нужно отсечь правую часть спектра и таким образом получаем спектр с крайней правой частотой 4 кГц.

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

Насчет периодичности спектра, там чувак выше приводил ссылку на другую ветку форума и я там видел картинку, где спектр уходит бесконечно далеко вправо. Мне кажется, что такого не может быть. Это скорее всего математический трюк, т.к. преобразование Фурье периодично. А по-настоящему если складывать частоты более высокие, чем на исходном графике, то получатся новые сигналы, хотя они и могут попасть в точки старых. Кстати, почему там гармоники убывают, если спектр повторяется, так значит гармоники должны быть с постоянной амплитудой?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Кстати, почему там гармоники убывают, если спектр повторяется, так значит гармоники должны быть с постоянной амплитудой?

Они убывают только на выходе ЦАП,когда цифра переводится в аналог то накладывается sinc. А в цифре ничего не убывает.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...