如何用matlab产生一个稀疏信号?求程序

如何用matlab产生一个稀疏信号?求程序,第1张

clear

clc

N=1000

Fs=1000

t=0:(1/Fs):(N-1)*(1/Fs)

f=[50 100 150 200 250]

s=zeros(1,N)

for i=1:length(f)

s=s+sin(2*pi*f(i)*t)

end

noise=0.1*randn(1,N)

r=s+noise

plot(t,r)

稀疏度就是信号中非零元素的个数,因此找到信号中非零元素的个数就行了

I=find(A(:)>0.1)小于0.1的可以看作是零,当然0.1只是一个参考值,其他的也行

K=length(I)


欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/yw/11936527.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存