变换域自适应滤波器的设计与实现

本文档展示了如何使用变换域自适应滤波器从高斯白噪声中滤出线性调频信号和单频有用信号。通过迭代更新权重,在频域和分数阶傅里叶变换(FRFT)域内进行滤波操作,实现了信号的恢复。程序包括期望信号生成、噪声添加、滤波过程以及输出信号的时域和频域分析。
摘要由CSDN通过智能技术生成

%该程序段实现时域滤波               

% s---期望信号

% N---输入信号长度

% xn---输入信号

% k---权个数

% u---收敛步长

% w---权系数

% e---误差信号

% y---输出信号

y=zeros(1,N);

y(1:k)=xn(1:k);

w=1/k*ones(1,k);

e=zeros(1,N);

for i=(k+1):N

XN=xn((i-k+1):(i));

y(i)=w*XN';

e(i)=s(i)-y(i);

w=w+u*e(i)*XN;

end

 

%该程序段实现频域滤波

% s---期望信号

% M---输入信号长度

% xn---输入信号

% N---权个数

% u---收敛步长

% w---权系数

% e---误差信号

% y---输出信号

w=zeros(1,N);  

e=zeros(1,M);

y=zeros(1,M);

for i=1:fix(M/N)-1

   X=fft(xn((i-1)*N+1:(i+1)*N));

    W=fft([w,zeros(1,N)]);

out1=real(ifft(X.*W));

y(i*N+1:(i+1)*N)=out1(N+1:2*N);

e(i*N+1:(i+1)*N)=s(i*N+1:(i+1)*N)-y(i*N+1:(i+1)*N);

E=fft([zeros(1,N),

e(i*N+1:(i+1)*N)]);

out2=real(fft(E.*conj(X)));

w=w+2*u*out2(1:N);

W=fft([w,zeros(1,N)]);

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值