如何用MATLAB分离两个信号一份选修课作业,将AB两个信号比如说一个正玄波和一个方波叠加后再分离出来,求教高手,在线等!最好能提供.mdl,谢谢啦,高分求解
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/28 10:34:21
![如何用MATLAB分离两个信号一份选修课作业,将AB两个信号比如说一个正玄波和一个方波叠加后再分离出来,求教高手,在线等!最好能提供.mdl,谢谢啦,高分求解](/uploads/image/z/3506833-1-3.jpg?t=%E5%A6%82%E4%BD%95%E7%94%A8MATLAB%E5%88%86%E7%A6%BB%E4%B8%A4%E4%B8%AA%E4%BF%A1%E5%8F%B7%E4%B8%80%E4%BB%BD%E9%80%89%E4%BF%AE%E8%AF%BE%E4%BD%9C%E4%B8%9A%2C%E5%B0%86AB%E4%B8%A4%E4%B8%AA%E4%BF%A1%E5%8F%B7%E6%AF%94%E5%A6%82%E8%AF%B4%E4%B8%80%E4%B8%AA%E6%AD%A3%E7%8E%84%E6%B3%A2%E5%92%8C%E4%B8%80%E4%B8%AA%E6%96%B9%E6%B3%A2%E5%8F%A0%E5%8A%A0%E5%90%8E%E5%86%8D%E5%88%86%E7%A6%BB%E5%87%BA%E6%9D%A5%2C%E6%B1%82%E6%95%99%E9%AB%98%E6%89%8B%2C%E5%9C%A8%E7%BA%BF%E7%AD%89%21%E6%9C%80%E5%A5%BD%E8%83%BD%E6%8F%90%E4%BE%9B.mdl%2C%E8%B0%A2%E8%B0%A2%E5%95%A6%2C%E9%AB%98%E5%88%86%E6%B1%82%E8%A7%A3)
如何用MATLAB分离两个信号一份选修课作业,将AB两个信号比如说一个正玄波和一个方波叠加后再分离出来,求教高手,在线等!最好能提供.mdl,谢谢啦,高分求解
如何用MATLAB分离两个信号
一份选修课作业,将AB两个信号比如说一个正玄波和一个方波叠加后再分离出来,求教高手,在线等!最好能提供.mdl,谢谢啦,高分求解
如何用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')