matlab怎么分离两个同频信号,如何用MATLAB分离两个信号

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2021/03/17 21:34:20

如何用MATLAB分离两个信号

一份选修课作业,将AB两个信号比如说一个正玄波和一个方波叠加后再分离出来,求教高手,在线等!最好能提供.mdl,谢谢啦,高分求解

分离信号基本上是根据信号的频谱不同,比如第一个信号,占用频带是1000~2000Hz.第二个信号占用频带是3000~4000Hz,我们只要把信号做FFT变换,然后在频域上拿到两个信号的各自分量,再用IFFT反变换回时域,就能重组出两个信号了.

但是前提是这两个语音的频带不能叠在一起

不多说了,举个例子,sin(t)+sin(10t),这两个信号的频带显然不同,可以分离

clc;

clear;

t=0:0.1:10;

x1=sin(t);

x2=sin(10*t);

x=x1+x2;

X_f=fft(x);

figure (1)

subplot(2,1,1);

plot(x);

xlabel('time')

title('x1+x2 (time domain)')

subplot(2,1,2);

plot(abs(X_f));

xlabel('frequency')

title('x1+x2(frequency domian)')

X1_f=X_f;

X1_f(10:95) = 0;

X2_f=X_f;

X2_f(1:9)=0;

X2_f(96:end)=0;

x1_reconstruc = ifft(X1_f);

x2_reconstruc = ifft(X2_f);

figure (2)

subplot(2,1,1);

plot(x1);

title('Original x1')

subplot(2,1,2);

plot(real(x1_reconstruc));

title('Reconsturctured x1')

figure (3)

subplot(2,1,1);

plot(x2);

title('Original x2')

subplot(2,1,2);

plot(real(x2_reconstruc));

title('Reconsturctured x2')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值