有没有高手解答我的疑惑,matlab中如何从两个不同频的正弦信号之和分别滤出来两个单频信号?例如,合成信号是sin(2*pi*90*t)+sin(2*pi*150*t),我需要分别得到sin(2*pi*90*t)和sin(2*pi*150*t).如果答上来我愿
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/17 08:32:25
有没有高手解答我的疑惑,matlab中如何从两个不同频的正弦信号之和分别滤出来两个单频信号?例如,合成信号是sin(2*pi*90*t)+sin(2*pi*150*t),我需要分别得到sin(2*pi*90*t)和sin(2*pi*150*t).如果答上来我愿
有没有高手解答我的疑惑,matlab中如何从两个不同频的正弦信号之和分别滤出来两个单频信号?
例如,合成信号是sin(2*pi*90*t)+sin(2*pi*150*t),我需要分别得到sin(2*pi*90*t)和sin(2*pi*150*t).如果答上来我愿意给高分!
这些都是模拟信号,我有一个模拟滤波器,但是不知道怎么用.
滤波器的程序如下:wp=[85 95];
ws=[80 100];
rp=3;
rs=30;
[N,Wn]=buttord(wp,ws,rp,rs,'s');
[B,A]=butter(N,Wn,'s');
有没有高手解答我的疑惑,matlab中如何从两个不同频的正弦信号之和分别滤出来两个单频信号?例如,合成信号是sin(2*pi*90*t)+sin(2*pi*150*t),我需要分别得到sin(2*pi*90*t)和sin(2*pi*150*t).如果答上来我愿
clf,format compact,
Fs=1000;
t=0:1/Fs:.2;
x=sin(2*pi*90*t)+sin(2*pi*150*t);
subplot(3,1,1),
plot(t,x),
Wp=100/500; Ws=150/500; %low pass filter
[n,Wn]=buttord(Wp,Ws,3,40 );
[b,a]=butter(n,Wn) ;
y1=filter(b,a,x);
subplot(3,1,2),
plot(t,y1);
Wp=150/500; Ws=100/500; %high pass filter
[n,Wn]=buttord(Wp,Ws,3,40 );
[b,a]=butter(n,Wn,'high') ;
y2=filter(b,a,x);
subplot(3,1,3),
plot(t,y2);