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

 
 
 
Reply to this topicStart new topic
> Сдвиг комплексного сигнала
Ar5789
сообщение Oct 12 2016, 10:24
Сообщение #1





Группа: Новичок
Сообщений: 1
Регистрация: 11-10-16
Пользователь №: 93 708



Столкнулся с необходимостью сдвига комплексного сигнала в частотной области
на величину rFreq [0..0.25]. Делаю вот так:
//-
SC= 2*Pi*rFreq*i;

s=sin(SC);
c=cos(SC);

Icos = Smpl.re*c;
ISin = Smpl.re*s;
QCos = Smpl.im*c;
QSin = Smpl.im*s;

pSmplOut.re = Icos-QSin;
pSmplOut.im = QCos+ISin;

i=i+1;
//-

Операция естественно выполняется в цикле со счетчиком i.
Все нормально, но рано или поздно счетчик переполнится, так как действие будет
происходить в реальном режиме времени. Значит счетчик необходимо периодически
сбрасывать в 0. Вот на каком значении это делать, я в силу отсутствия знаний
в предметной области не знаю.
Частота дискретизации, шаг сдвига известны. Может ли кто-нибудь подсказать
как вычислить правильный размер счетчика, что бы не допустить разрывов по
фазе.
Заранее благодарен.

Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Oct 12 2016, 11:17
Сообщение #2


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

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



Реализуйте комплексный NCO и не нужно ничего сбрасывать.
nco
Go to the top of the page
 
+Quote Post
petrov
сообщение Oct 12 2016, 11:37
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Цитата(Ar5789 @ Oct 12 2016, 13:24) *
Вот на каком значении это делать, я в силу отсутствия знаний
в предметной области не знаю.


Обычные бытовые часы со стрелками бесконечно крутятся и никаких разрывов. Таким же образом считает двоичный счётчик по модулю 2^N, N - разрядность сумматора. 0..2*pi -> 0..2^N
Go to the top of the page
 
+Quote Post
jorikdima
сообщение Oct 27 2016, 21:47
Сообщение #4


тут может быть ваша реклама
*****

Группа: Свой
Сообщений: 1 164
Регистрация: 15-03-06
Из: Санкт-Петербург/CA
Пользователь №: 15 280



Цитата(Ar5789 @ Oct 12 2016, 03:24) *
Вот на каком значении это делать, я в силу отсутствия знаний
в предметной области не знаю.

аргумент синуса или косинуса все равно используется по модулю 2*pi. при превышении фазы двух пи и сбрасывайте, только остаток от деления на 2 пи не забудьте добавить. Другими словами, реализуйте деление на 2пи
Go to the top of the page
 
+Quote Post

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

 


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


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