返回信息流要求:输入一个*.mat信号,其中有两强两弱信号,需要将这4个信号线性相加得到混合信号,然后在混合信号里找到幅值最大的信号,并把它消去,然后循环这一操作,直到剩下最弱的那个信号,并输出。
我只拿到有限的提示:求混合信号的fft变换,通过频谱找出最大信号(不知道怎么做),并在时域里把它消去;依次循环这一操作,直到剩下最弱的信号并输出。
写了的代码:
clear all ;
clc;
load seperate_sig_2-2.mat;
Nsig = size(s,1) ;
for i =1:1:Nsig
S( i,: ) = abs( fftshift( fft( s( i,: ) ) ) ) ;
Apeak( i ) = abs( max( S( i,: ) ) ) ;
end
[ A1,Index0 ] = min( Apeak ) ;
Sig_min = s( Index0,: ) ;
SIG_MIN = 20 .* log10( abs( fftshift( fft( Sig_min ) ) ) );
存在的问题:
1、没有把原始信号做线性相加得到混合信号;
2、也没有从混合信号里找最大信号,并消去它。
这是一条镜像帖。来源:北邮人论坛 / matlab / #11168同步于 2014/9/1
Matlab机器人发帖
求助 matlab 信号逐级相消
yjys
2014/9/1镜像同步0 回复
订阅后,新回复会通过你的通知中心匿名送达。
0 条回复
暂无回复 · 你可以订阅本帖等待新回复。