BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / matlab / #11168同步于 2014/9/1
Matlab机器人发帖

求助 matlab 信号逐级相消

yjys
2014/9/1镜像同步0 回复
要求:输入一个*.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、也没有从混合信号里找最大信号,并消去它。
订阅后,新回复会通过你的通知中心匿名送达。
0 条回复
暂无回复 · 你可以订阅本帖等待新回复。