|
Как наблюдать периодичность цифрового спектра и изменить ее |
|
|
|
Feb 1 2016, 13:35
|
Местный
  
Группа: Свой
Сообщений: 227
Регистрация: 1-10-15
Из: Москва
Пользователь №: 88 647

|
Насколько я себе представляю, если мы берем n выборок сигнала и делаем БПФ, мы получаем лишь часть спектра, которая находится в полосе 0...fд. Гармонический сигнал представляется 2 палочками в этом диапазоне. Насколько я понимаю, как-то же можно его промоделировать так, чтобы получить диапазон частот 0...4fд, например? Но если мы имеем бесконечное число палок в частотной области, мы же можем рассмотреть сразу период 0...4fd, а остальную бесконечную периодичность в спектре убрать? Мне очень интересно, а что тогда случится с формой сигнала? Я попробовал смоделировать это, только выполняя ресемплинг во временной области, но то ли я получил? Что я вообще получил, по-вашему? Почему палочки такие маленькие кроме 2 основных? Частота дискретизации fд = 20 кГц. На рисунке сделал - 40 кГц наблюдение.
А в идеале же мне нужно, чтобы просто в диапазоне 0...4fд был спектр, а дальше его не было бы. Или даже так: чтобы в этом диапазоне был спектр, повторяющийся через fд, а дальше через 4fд повторялся уже цельный спектр 0...4fд. Я не могу провернуть это в Simulink. Что предлагаете? Как проще сделать?
|
|
|
|
|
Feb 1 2016, 17:05
|
Участник

Группа: Участник
Сообщений: 70
Регистрация: 17-07-15
Пользователь №: 87 598

|
Цитата(lennen @ Feb 1 2016, 19:35)  А в идеале же мне нужно, чтобы просто в диапазоне 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 - Feb 1 2016, 17:23
|
|
|
|
|
Feb 1 2016, 19:26
|
Местный
  
Группа: Свой
Сообщений: 227
Регистрация: 1-10-15
Из: Москва
Пользователь №: 88 647

|
Тогда ничего не понял. Давайте сначала. Здесь спектр дискретизированного сигнала уходит в бесконечность и убывает по синк-функции: http://jstonline.narod.ru/rsw/rsw_f0/rsw_f0a0/rsw_f0a0c.htm Как вы можете утверждать, что выше четырех частот дискретизации ничего нет? Возьмите точки в два раза чаще, затем в 4 раза чаще и тп. Вы получите все тот же сигнал, только будет больше информации о нем (точек), то есть частоты более высоких порядков - все тот же сигнал, тогда как при аналоговой форме такого невозможно - нельзя поставить точку не там, где она уже стоит. Следовательно, имеется множество вариантов создания дополнительных гармоник. Я довольно хорошо осмыслил это все, прежде чем задавать вопрос. А для демодулятора тоже есть вот такая вещь: http://digteh.ru/digital/subdiskr.phpЯ как-то хочу смоделировать как генерацию высших гармоник с помощью дискретизированной основной, так и их прием. Такое ощущение, что преграда только в Вашем сознании, либо же в нежелании помочь  Либо переубедите меня. Давайте подробнее, я ведь не просто так спрашиваю.
|
|
|
|
|
Feb 2 2016, 07:55
|
Участник

Группа: Участник
Сообщений: 70
Регистрация: 17-07-15
Пользователь №: 87 598

|
По моему преграда как раз в Вашем сознании. В преобразовании Фурье очень четко задается частота, которая будет крайняя справа на частотном графике(спектре). И другую частоту Вы подставить не можете, хоть Вы об стенку разбейтесь, но 4Fд или бесконечность туде не можете подставить. Там есть строгая зависимость от периода частоты дискретизации. Правда я не помню формулу, примерно она такая: Fсправа = 1/Tд или Fсправа = 2(1/Tд), где Tд - период частоты дискретизации. "Я как-то хочу смоделировать как генерацию высших гармоник с помощью дискретизированной основной, так и их прием. Такое ощущение, что преграда только в Вашем сознании, либо же в нежелании помочьsm.gif Либо переубедите меня. Давайте подробнее, я ведь не просто так спрашиваю." - Разговаривайте со мной повежливее, а то помогать уже никакого желания нет.
|
|
|
|
|
Feb 3 2016, 14:00
|
Частый гость
 
Группа: Участник
Сообщений: 87
Регистрация: 30-03-12
Из: Мирный (Якутия)
Пользователь №: 71 096

|
Цитата(bogaev_roman @ Feb 3 2016, 11:42)  ... Если же Вы хотите использовать FFT на частоте дискретизации Fs, а наблюдать спектр на частоте >Fs/2, то можете для начала почитать теорему Котельникова. Ну, вообще-то можно наблюдать спектр на частотах >Fs/2 И без всяких, чуждых нам, симулинков... На картинке ЛЧМ- сигнал 5-110 Гц с несимметричным ограничением амплитуды. Частота Найквиста 250 Гц
Сообщение отредактировал Santik - Feb 3 2016, 14:01
|
|
|
|
|
Feb 3 2016, 14:49
|
Профессионал
    
Группа: Свой
Сообщений: 1 088
Регистрация: 20-10-09
Из: Химки
Пользователь №: 53 082

|
Цитата(Santik @ Feb 3 2016, 17:00)  Ну, вообще-то можно наблюдать спектр на частотах >Fs/2 И без всяких, чуждых нам, симулинков...  Я как бы практик больше, и если мне нужно посмотреть спектр синусоиды (при чем здесь ЛЧМ?), что на моделировании, что в реальном железе, то возьму готовый блок FFT, который работает на частоте Fs и выдает спектр от -Fs/2 до + Fs/2 или от 0 до Fs/2. Собрал модель - синус 50кГц, частота дискретизации 1МГц, параллельно снизу понижение частоты дискретизации на 35. В результате имею два разных результата для FFT.
Эскизы прикрепленных изображений
|
|
|
|
|
Feb 3 2016, 15:25
|
Знающий
   
Группа: Свой
Сообщений: 565
Регистрация: 22-02-13
Пользователь №: 75 748

|
Цитата(bogaev_roman @ Feb 3 2016, 17:49)  Собрал модель - синус 50кГц, частота дискретизации 1МГц, параллельно снизу понижение частоты дискретизации на 35. В результате имею два разных результата для FFT. Во втором случае вы получили aliasing. Fs = 1 МГц/35 = ~28,6 кГц, что не соответствует теореме Котельникова. На спектроанализаторе гармоника abs(F0 - 2*Fs) = abs(50-2*28,6) ~ 7.2 кГц. Вроде бы вопрос ТС был про другое - про периодичность спектра дискретного сигнала, когда условие теоремы отсчетов соблюдено.
|
|
|
|
|
Feb 3 2016, 17:38
|
Частый гость
 
Группа: Участник
Сообщений: 87
Регистрация: 30-03-12
Из: Мирный (Якутия)
Пользователь №: 71 096

|
Цитата(bogaev_roman @ Feb 3 2016, 17:49)  Я как бы практик больше, и если мне нужно посмотреть спектр синусоиды (при чем здесь ЛЧМ?)... Хорошо, давайте возьмём синусоиду 200 Гц с ЧМ (синусом) , но только ограниченную симметрично по уровню 0.9
На спектрограмме хорошо видны гармоники , которые выше FN (частоты Найквиста) и даже выше Fd... Просто они "сползли" в диапазон 0-FN Насколько я понял вопрос ТС его интересует возможность восстановления "истинного спектра". Мой ответ - в общем случае это невозможно. А в частном (см. картинку) - запросто!
|
|
|
|
|
Feb 3 2016, 20:52
|
Местный
  
Группа: Свой
Сообщений: 227
Регистрация: 1-10-15
Из: Москва
Пользователь №: 88 647

|
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. А какой блок может этот ресемплинг сделать, как он называется? Или можете подробнее?
|
|
|
|
|
Feb 4 2016, 08:19
|
Профессионал
    
Группа: Свой
Сообщений: 1 088
Регистрация: 20-10-09
Из: Химки
Пользователь №: 53 082

|
Цитата(Grizzzly @ Feb 3 2016, 18:25)  Во втором случае вы получили aliasing. Fs = 1 МГц/35 = ~28,6 кГц, что не соответствует теореме Котельникова. На спектроанализаторе гармоника abs(F0 - 2*Fs) = abs(50-2*28,6) ~ 7.2 кГц. Я именно это и хотел показать, хотя неоднозначность можно решить имея несколько "линеек", т.е. несколько частот дискретизации. Цитата Насколько я понял вопрос ТС его интересует возможность восстановления "истинного спектра". Цитата Вроде бы вопрос ТС был про другое - про периодичность спектра дискретного сигнала, когда условие теоремы отсчетов соблюдено. Да, неправильно вопрос понял, Цитата А какой блок может этот ресемплинг сделать, как он называется? Или можете подробнее? Ключевые слова - децимация/интерполяция, в библиотеке simulink простейшие блоки upsample/downsample, а дальше help, ну или еше проще - перед scope можно поставить линию задержки (delay) с указанием требуемой новой частоты дискретизации.
|
|
|
|
|
Feb 11 2016, 10:35
|
Участник

Группа: Участник
Сообщений: 70
Регистрация: 17-07-15
Пользователь №: 87 598

|
Слово aliasing зарубежное какое-то, там просто частота дискретизации ниже чем частота сигнала. Fд = 28,6 кГц, Fсигнала = 50 кГц. Что естественно не удовлетворяет теореме Котельникова. Я посмторел свой проект и там в общем частота дискретизации 8 кГц. Видны 2 сигнала, т.е. 2 частоты. Исходный сигнал был смесь этих частот. Преобразование Фурье выполнено верно. В левой части находятся настоящие гармоники, в правой части находятся зеркальные гармоники. Частота крайняя справа - 8 кГц. Чтобы избавиться от зеркальных гармоник нужно отсечь правую часть спектра и таким образом получаем спектр с крайней правой частотой 4 кГц. Насчет того что спектр уходит вправо и вообще в бесконечность этого нет в моей теории, и я думаю что это быть не может. Если Вы хотите увидеть то что справа, то нужно просто поднять частоту дискретизации, как я уже сказал в самом начале. Насчет периодичности спектра, там чувак выше приводил ссылку на другую ветку форума и я там видел картинку, где спектр уходит бесконечно далеко вправо. Мне кажется, что такого не может быть. Это скорее всего математический трюк, т.к. преобразование Фурье периодично. А по-настоящему если складывать частоты более высокие, чем на исходном графике, то получатся новые сигналы, хотя они и могут попасть в точки старых. Кстати, почему там гармоники убывают, если спектр повторяется, так значит гармоники должны быть с постоянной амплитудой?
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|