Форум программистов, компьютерный форум, киберфорум
Matlab
Войти
Регистрация
Восстановить пароль
 
0 / 0 / 0
Регистрация: 26.03.2012
Сообщений: 19
1

Восстановление сигнала нерекурсивного фильтра

17.12.2014, 19:48. Просмотров 398. Ответов 1
Метки нет (Все метки)

Прошу помочь! В приложенной программе я восстанавливаю сигнал рекурсивного и нерекурсивного фильтра. Проблема в том, что сигнал пройденный через рекурсивный восстанавливается, через нерекурсивный 4 рис. восстанавливается правильно, а вот на 5 рис неправильно (сигнал затухает, а потом опять возрастает). . На 1 рис сам сигнал, 2, 3 рис. рекурсивный фильтр, а на 4,5 нерекурсивный.
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
close all
clear all
fc=50;
w=2*pi*fc;
Tc=1/fc;
kolper=4;
ta=0:1e-5:kolper*Tc; 
ua=60*sin(2*w*ta-pi/6)+10*sin(6*w*ta-pi/3)+20;
fd=600; 
N=fd/fc*kolper; n=0:N-1; td=1/fd;
ud=60*sin(2*w*n/fd-pi/6)+10*sin(6*w*n/fd-pi/3)+20;
figure
plot(ta,ua,n/fd,ud,'r*'), grid
b=[4 -2 -3 2];
a=[1];% -2 1 2];
 
for np=1:2
figure
y=filter(b,a,ud);
kol = fd*kolper/fc;
y1=fft(y)/N;
x1=ifft(y1)*N;
for m = 1:length(ta)
    signal_vost(m) = 0;
    for k = -kol/2:-1
        signal_vost(m) = signal_vost(m) + (y1(kol+k+1))*exp((j*2*pi*k*ta(m)*fd)/kol);
    end;
    for k = 0:kol/2-1
        signal_vost(m) = signal_vost(m) + (y1(k+1))*exp((j*2*pi*k*ta(m)*fd)/kol);
    end;
end;
deystv_signal = real(signal_vost);
hold on
plot(ta,ua,'k-',n/fd,ud,'r*',ta, deystv_signal,'g-')
stem(n/fd,y,'-r')
grid
hold off
 
figure
yf=filtfilt(b,a,ud);
kol = fd*kolper/fc;
yf1=fft(yf)/N;
x2=ifft(yf1)*N;
for m = 1:length(ta)
    signal_vost1(m) = 0;
    for k = -kol/2:-1
        signal_vost1(m) = signal_vost1(m) + (yf1(kol+k+1))*exp((j*2*pi*k*ta(m)*fd)/kol);
    end;
    for k = 0:kol/2-1
        signal_vost1(m) = signal_vost1(m) + (yf1(k+1))*exp((j*2*pi*k*ta(m)*fd)/kol);
    end;
end;
deystv_signal1 = real(signal_vost1);
hold on
plot(ta,ua,'k-',n/fd,ud,'r*',ta, deystv_signal1,'g-')
stem(n/fd,yf,'-r')
grid
hold off
 
a=[1 1.3 1.3 0.6];
end
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.12.2014, 19:48
Ответы с готовыми решениями:

Создание нерекурсивного фильтра
Здравствуйте. Помогите пожалуйста. Необходимо синтезировать сигнал (разобрался - прямоугольный...

Передаточная функция нерекурсивного фильтра
Помогите пожалуйста! Вот дана, например, функция H(z) на рис. И когда, например, сумма bi=4, то на...

Определить параметры фильтра для обработки звукового сигнала
Я тут вот диплом пишу, одна из задач, это определить параметры фильтра для обработки звукового...

Восстановление сигнала
Доброго времени суток! Сделал функция по внедрению сигнала в аудио файл, никак не могу...

1
444 / 357 / 36
Регистрация: 17.07.2013
Сообщений: 1,939
18.12.2014, 08:14 2
Цитата Сообщение от Федотов Посмотреть сообщение
восстанавливаю сигнал рекурсивного и нерекурсивного фильтра
Задачи реконструкции сигнала, прошедшего через нЕкие преобразования относятся к классу обратных задач и характеризуются, прежде всего, слабой устойчивостью. Гарантии восстановления теоретически нет без применения спец математических методов. См.:
Сизиков В.С. Обратные прикладные задачи и MatLab (Учебники для вузов. Специальная литература) - 2011

Возможно, проблема не в программировании и не в MATLAB, а в алгоритме. Вы проверяли алгоритм на устойчивость?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.12.2014, 08:14

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

Восстановление сигнала из спектра
Всем привет интересует такой вопрос, допустим задан сигнал, мы находим его спектр и определяем...

Восстановление аналитического сигнала (Котельников)
Народ, объясните, пожалуйста, как восстановить из дискретного сигнала аналитический. Частоту...

Метод Котельникова (восстановление сигнала)
Здравствуйте, вот такое задание: взять функцию, найти все значения в интервале,после чего убрать...

Дискретизация и восстановление сигнала по теореме Котельникова
Всем привет! По заданию я смог дискретизировать сигнал, а вот восстановить по теореме котельникова...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.