filtertest.m

来自「filter滤波器」· M 代码 · 共 52 行

M
52
字号
clear;
fc1=22999;%通带下限截止频率fc1=22999 Hz
fc2=23001;%通带上限截止频率fc2=23001 Hz
fs=102400;%采样频率fs=102400Hz
N= 50000;%采样点数目
t = (0:N)/fs;
f1=5000;
f2=15000;
f3=30000;
f4=23000;
f5=50000;
f6=60000;
s1=CreateLine(f1,t);
s2=CreateLine(f2,t);
s3=CreateLine(f3,t);
s4=CreateLine(f4,t);
s5=CreateLine(f5,t);
s6=CreateLine(f6,t);
s=s1+s2+s3+s4+s5+s6;
sf = beltfilter(s,fs,20,fc1,fc2);%对信号s进行滤波
figure(1);
subplot(311);
plot(t,s);%作正弦信号的时域波形
xlabel('t');
ylabel('y');
title('原混合波形');
figure(1);
subplot(312);
xl=length(sf);
t=t(1:xl);
plot(t,sf);%作正弦信号的时域波形
xlabel('t');
ylabel('y');
title('过滤后波形');
subplot(313);
s3=s3(1:xl);
plot(t,s3);%作正弦信号的时域波形
xlabel('t');
ylabel('s3');
title('原波形');
N=xl;
xf = 2*abs(fftn(sf))/N;  
xf = xf(1:N/2);  
df = fs/N;          %频率分辨率Hz   
f = (0:N/2-1)*df;    %频域序列  
cMax = max(xf) ;   
figure(2);
subplot(1,1,1);  
plot(f, xf);    
xlabel('f/Hz');
f(find(xf>=max(xf)))

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?