lms算法的verilog实现_主动降噪与双麦降噪原理与实现前篇——LMS算法的matlab实现...

本文介绍了LMS算法在主动降噪和双麦降噪中的关键作用,并提供了LMS算法的MATLAB实现。建议读者在阅读代码前先了解算法原理。
摘要由CSDN通过智能技术生成

LMS算法作为主动降噪与双麦降噪的基础算法,还是非常重要的,这里不多说原理了,后面我慢慢更这一部分。

直接上代码,建议感兴趣的朋友先看看原理再看代码:

clear all;close all;clc
%LMS算法的MATLAB实现
%用MATLAB实现LMS算法,将输入和输出信号进行对比,并给出均方误差的曲线。
%假设滤波器抽头个数位k,数据长度为N。
g=100;  %统计仿真次数
N=1024; %输入信号抽样点数
k=128;  %时域抽头LMS算法滤波器阶数
pp=zeros(g,N-k);    %将每次独立循环的误差结果存于PP中,以便后面对其平均
u=0.0002;
for q=1:g
    t=1:N;
    a=1;
    s=a*sin(0.05*pi*t); %输入单频信号s
    figure(1);
    subplot(311)
    plot(t,real(s));    %信号s时域波形
    title('信号s时域波形');
    xlabel('n');
    ylabel('s');
    axis([0,N,-a-1,a+1]);   
    %设置初值
    xn=awgn(s,5);   
   %加入均值为零的高斯白噪声,信噪比为5dB               %     y = awgn(x,snr)将白高斯噪声添加到向量信号x中。标量snr指定了每一个采样点信号与噪声的比率,单位为dB。
    y=zeros(1,N);   %输出信号y
    y(1:k)=xn(1:k); %将输入信号xn的前k个值作为输出y的前k个值
    w=zeros(1,k);   %设置抽头加权初值
    e=zeros(1,N);%误差
  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值