[an error occurred while processing this directive]
Ответ: Передний хвост свертки тоже отрезать надо (+)
(«Телесистемы»: Конференция «Цифровые сигнальные процессоры (DSP) и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено Vadim Kudryavtsev 16 января 2005 г. 15:04
В ответ на: Еще раз - где я сыплюсь? ... отправлено AR 16 января 2005 г. 14:34

Вставьте
sk=sk(length(b):end);
после
sk=filter(b,1,s); %!!!

Вы так и делали в исходном варианте. Правильно. Просто забыли отрезать задний хвост, возникающий в upfirdn.
А теперь наоборот получилось - Вы отрезали задний а передний оставили :-(

Ну и смотреть результат теперь придется немножко модифицированной строчкой
plot(3+10*log10(abs(fft(sk,length(s)))),'g')

Вот полный вариант
clear all
fd=1000; %!!!
N=1024; %!!!
t=0:(1/fd):(N-1)*1/fd;
f1=100;f2=120; %!!!
A1=30;A2=1;
s1=A1*sin(2*pi*f1*t)+(A1-A1/4)*sin(2*pi*(f1+5)*t);
s2=A2*sin(2*pi*f2*t);
n=0*rand(1,N);
s=s1+s2+n;

b = fir1(680,[0.18 0.23],'stop',chebwin(681,80));


plot(10*log10(abs(fft(s))))
hold on
plot(40+10*log10(abs(fft(b,length(s)))),'r')

sk=filter(b,1,s); %!!!
sk=sk(length(b):end); %!!!!!!!!!!!!!!!!!!!

plot(3+10*log10(abs(fft(sk,length(s)))),'g')%!!!!!!!!!!!!!!!
hold off

Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru