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

 
 
 
Reply to this topicStart new topic
> формирование сигнала с заданным спектром
cerg19
сообщение Mar 21 2013, 06:11
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 166
Регистрация: 12-05-09
Из: Нижний Новгород
Пользователь №: 48 978



Всем доброго времени суток.
Встала задача сформировать сигнал с заданным спектром:

Прикрепленное изображение


Я всегда думал, что спектры симметричны относительно DC. А тут они не симметричны, да и ещё отдельная гармоника на частоте -225кГц вводит в ступор.
Подскажите пожалуйста как можно сформировать сигнал с таким спектром. Или данный спектр в корне не правильный и не реализуем?
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
STAR_IK
сообщение Mar 21 2013, 07:24
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 136
Регистрация: 10-04-09
Из: Омск
Пользователь №: 47 461



Переходите к комплексной форме сигнала, тогда получится сделать спектр сигнала асиметричным относительно нуля. В этом случае каждый тон будет представлять собой комплексную экспаненту вида exp(jwt) = cos(wt)+j*sin(wt)
Go to the top of the page
 
+Quote Post
thermit
сообщение Mar 21 2013, 07:28
Сообщение #3


Знающий
****

Группа: Участник
Сообщений: 781
Регистрация: 3-08-09
Пользователь №: 51 730



Цитата
cerg19:
Подскажите пожалуйста как можно сформировать сигнал с таким спектром. Или данный спектр в корне не правильный и не реализуем?


Конечно же все реализуемо. Просто сигнал будет комплексным. (Амплитудный спектр вещественного сигнала симметричен относительно 0).

Код
x=exp(1j*2*pi*50/1000*(0:9999))+exp(1j*2*pi*200/1000*(0:9999))+exp(1j*2*pi*250/1000*(0:9999))+exp(-1j*2*pi*225/1000*(0:9999));
Go to the top of the page
 
+Quote Post
cerg19
сообщение Mar 21 2013, 07:51
Сообщение #4


Частый гость
**

Группа: Свой
Сообщений: 166
Регистрация: 12-05-09
Из: Нижний Новгород
Пользователь №: 48 978



thermit, спасибо за код.
Попробовал в matlab. Сделал plot(abs(fft(real(x)))) и на спектре видно, что он тоже симметричен
Прикрепленное изображение

что я делаю не так?
Go to the top of the page
 
+Quote Post
STAR_IK
сообщение Mar 21 2013, 08:02
Сообщение #5


Частый гость
**

Группа: Свой
Сообщений: 136
Регистрация: 10-04-09
Из: Омск
Пользователь №: 47 461



Во-первых, уберите real. У действительного сигнала не может быть асиметричный спектр!!! Во-вторых, если хотите увидеть спектр, какой он у вас есть, то нужно повернуть половинки результата преобразования fft. Код будет выглядеть следующим образом: plot(abs(fftshift(fft(x))))
Go to the top of the page
 
+Quote Post
thermit
сообщение Mar 21 2013, 08:07
Сообщение #6


Знающий
****

Группа: Участник
Сообщений: 781
Регистрация: 3-08-09
Пользователь №: 51 730



Цитата
cerg19:
Попробовал в matlab. Сделал plot(abs(fft(real(x)))) и на спектре видно, что он тоже симметричен


Цитата
thermit:
Просто сигнал будет комплексным. (Амплитудный спектр вещественного сигнала симметричен относительно 0).
Go to the top of the page
 
+Quote Post
Lmx2315
сообщение Mar 21 2013, 08:55
Сообщение #7


отэц
*****

Группа: Свой
Сообщений: 1 729
Регистрация: 18-09-05
Из: Москва
Пользователь №: 8 684



QUOTE (cerg19 @ Mar 21 2013, 10:51) *
что я делаю не так?

..я конечно не математик, но помоему вы не использовали комплексную форму сигнала.


--------------------
b4edbc0f854dda469460aa1aa a5ba2bd36cbe9d4bc8f92179f 8f3fec5d9da7f0
SHA-256
Go to the top of the page
 
+Quote Post
V_G
сообщение Mar 22 2013, 12:22
Сообщение #8


Профессионал
*****

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



ТС осталось определиться с термином "сигнал".
Если имеется в виду традиционно-электронно-аналоговое определение как временнОе представление какого-то одного процесса, то задача невыполнима, реальный сигнал всегда имеет симметричный спектр.
"Комплексный сигнал" - математическая абстракция, в обычной жизни это 2 разных сигнала.
Go to the top of the page
 
+Quote Post
Xenia
сообщение Mar 22 2013, 15:15
Сообщение #9


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



Цитата(cerg19 @ Mar 21 2013, 10:11) *
Встала задача сформировать сигнал с заданным спектром:
...
Подскажите пожалуйста как можно сформировать сигнал с таким спектром. Или данный спектр в корне не правильный и не реализуем?


Если вам нужно сформировать сигнал из помеси малого числа чистых гармоник, то проще всего не связываться с FFT, а построить по точкам в лоб - т.е. сложить три синусоиды (50 Гц, 200 Гц и 250 Гц). Причем, вычислять их вклады можно одновременно с суммированием.
Что-то вроде этого:
for(int i=0; i<N; i++) A[i] = sin(2*M_PI*50*i/N) + sin(2*M_PI*200*i/N) + sin(2*M_PI*250*i/N);
Go to the top of the page
 
+Quote Post
thermit
сообщение Mar 22 2013, 17:57
Сообщение #10


Знающий
****

Группа: Участник
Сообщений: 781
Регистрация: 3-08-09
Пользователь №: 51 730



про генерацию через ффт тут никто и не говорил.
Go to the top of the page
 
+Quote Post
Aner
сообщение Mar 22 2013, 21:03
Сообщение #11


Гуру
******

Группа: Свой
Сообщений: 4 869
Регистрация: 28-02-08
Из: СПБ
Пользователь №: 35 463



ага, по точкам ...в лоб
Вы еще не забудьте про 2,3, и тд ... гармоники этих сигналов и их компинационные.
Go to the top of the page
 
+Quote Post
TRILLER
сообщение Mar 25 2013, 07:44
Сообщение #12


Частый гость
**

Группа: Свой
Сообщений: 180
Регистрация: 17-02-09
Из: Санкт-Петербург
Пользователь №: 45 001



Цитата(Aner @ Mar 23 2013, 01:03) *
ага, по точкам ...в лоб
Вы еще не забудьте про 2,3, и тд ... гармоники этих сигналов и их компинационные.

Эмм.. Может чего-то недопонял, но откуда появятся комбинационные составляющие при суммировании?
Go to the top of the page
 
+Quote Post
cerg19
сообщение Mar 28 2013, 08:54
Сообщение #13


Частый гость
**

Группа: Свой
Сообщений: 166
Регистрация: 12-05-09
Из: Нижний Новгород
Пользователь №: 48 978



Всем спасибо за ответы.
Мне необходимо было также сместить этот спектр на центральную частоту 97,9МГц.
Всё это я выполнил при помощи схемы:

Прикрепленное изображение
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 26th June 2025 - 23:11
Рейтинг@Mail.ru


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