|
本帖最后由 VibInfo 于 2016-11-7 15:56 编辑
原帖由 weiyuperfect 于 2008-11-16 14:10 发表
写错了,抱歉,应该是30hz;
我只是举个例子;
其实我的意思是想问信号x,时程为6s;采样率fs=100hz;
请问如何对信号x进行30hz的高通滤波?如何得到滤波后的信号呢?
用什么命令具体怎么使用呢?
楼上能帮我写 ...
fs=100;
fc=30;
[b,a]=butter(4,0.6,'high');
[h,w]=freqz(b,a);
plot(w/pi*fs/2,abs(h)); grid;
title('Amplitude Response');
xlabel('Frequency (Hz)'); ylabel('Amplitude');
figure;
x=randn(1,fs*6);
y=filter(b,a,x);
subplot 211; plot(x); title('Original Signal');
subplot 212; plot(y); title('Output of High-pass filter');
其中信号是用随机数产生的,长6s。笫1张图是高通滤波器的幅值响应曲线,笫2张图是信号滤波前后的波形。 |
|