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

 
 
> Как создать фильтр в матлабе?
Stefan1
сообщение Nov 27 2012, 11:41
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 414
Регистрация: 7-04-11
Из: Москва
Пользователь №: 64 187



Доброго времени суток!
Подскажите код в матлабе для полосового фильтра с полосой пропускания 0.99 - 1.01 ГГц. Сигнал синусоидальный амплитудно модулированный несколькими частотами (низкие частоты+высшие гармоники). Несущая частота сигнала - 1 ГГц.

Сообщение отредактировал Stefan1 - Nov 28 2012, 06:41
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
V_G
сообщение Nov 28 2012, 10:33
Сообщение #2


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

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



Помещаете рассчитанные коэффициенты КИХ-фильтра в массив Num, после чего вводите:
y=filter(Num,1,x), где y - выходной сигнал, x - входной сигнал. Если фильтр - БИХ, вместо единицы пишете коэффициенты а

ЗЫ. А аппаратно-то чем 1 ГГц фильтровать собрались?
Go to the top of the page
 
+Quote Post
Stefan1
сообщение Nov 28 2012, 11:33
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 414
Регистрация: 7-04-11
Из: Москва
Пользователь №: 64 187



Цитата(V_G @ Nov 28 2012, 13:33) *
Помещаете рассчитанные коэффициенты КИХ-фильтра в массив Num, после чего вводите:
y=filter(Num,1,x), где y - выходной сигнал, x - входной сигнал. Если фильтр - БИХ, вместо единицы пишете коэффициенты а


Что-то матлаб ругается, пишет:
"Dimension argument must be a positive integer scalar in the range 1 to 2^31" в этой записи: y=filter(Hd,1,x)

Коэффициенты Num таким образом считаются?:

[N,Wn,BETA,TYPE] = kaiserord([Fstop1 Fpass1 Fpass2 Fstop2]/(Fs/2), [0 1 0], [Dstop1 Dpass Dstop2]);
b = fir1(N, Wn, TYPE, kaiser(N+1, BETA), flag);
Hd = dfilt.dffir( В );

y=filter(Hd,1,x)
plot(t2,yidi,'r')

Цитата(V_G @ Nov 28 2012, 13:33) *
ЗЫ. А аппаратно-то чем 1 ГГц фильтровать собрались?

Мне это вообще нужно для выделения первой гармоники из спектра сигнала, т.к. простыми методами - не получается из-за сложности сигнала. Хочу посчитать мощность усилителя по первой гармонике.

Сообщение отредактировал Stefan1 - Nov 28 2012, 11:49
Go to the top of the page
 
+Quote Post
V_G
сообщение Nov 28 2012, 11:56
Сообщение #4


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

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



Цитата(Stefan1 @ Nov 28 2012, 21:33) *
y=filter(Hd,1,x)


y=filter(b,1,x) , если массив коэффициентов - b
Go to the top of the page
 
+Quote Post
Stefan1
сообщение Nov 28 2012, 13:07
Сообщение #5


Местный
***

Группа: Участник
Сообщений: 414
Регистрация: 7-04-11
Из: Москва
Пользователь №: 64 187



Цитата(V_G @ Nov 28 2012, 14:56) *
y=filter(b,1,x) , если массив коэффициентов - b

Благодарю за помощь!
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 31st July 2025 - 04:22
Рейтинг@Mail.ru


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