[음성 잡음 제거] MATLAB LMS 스펙트럼 감산 음성 잡음 제거 기반 [Matlab 소스 코드 529 포함]

1. 소개

최소 평균 제곱 (LMS, 최소 평균 제곱)은 가장 기본적인 적응 형 필터링 알고리즘입니다.
LMS 알고리즘은 적응 형 필터에서 일반적으로 사용되는 알고리즘으로 Wiener 알고리즘과 다른 점은 입력 시퀀스에 따라 시스템 계수가 변경된다는 것입니다. Wiener 알고리즘에서는 시스템의 최적 계수를 구성하기 위해 입력 시퀀스의 자기 상관 함수 섹션을 가로 챕니다. LMS 알고리즘은 최소 평균 제곱 오차 기준에 따라 초기화 된 필터 계수를 지속적으로 수정하여 구현됩니다. 따라서 이론적으로 LMS 알고리즘의 성능은 동일한 조건에서 Wiener보다 우수합니다. 그러나 LMS는 초기 값 아래에서 단계적으로 조정되므로 시스템이 안정되기 전에 조정 시간이있을 것입니다. 조정 시간은 스텝 팩터에 의해 제어됩니다. 일정 범위 내에서는 스텝이 커집니다. 계수, 조정 시간이 작아지고 단계 계수의 최대 값은 R의 트레이스입니다. LMS는 최소 평균 제곱 오차의 원칙 대신 최소 제곱 오차의 원칙을 채택하며 기본 신호 관계는 다음과 같습니다.
여기에 사진 설명 삽입
여기에 사진 설명 삽입

둘째, 소스 코드

clear all;clc; close  all;
%filedir=[D:\Program Files\MATLAB\speech.wav];  %路径设置不对,以下用不到就省略掉,直接用下行代码的文件名
filename='speech.wav';  
%fle=[filedir filename];       %无用行,以下没用到
[s,fs] =audioread(filename);   %wavread函数在此版本后不能用了,改用audioread
s=s/max(abs(s));     %将语音信号幅值归一化
N=length(s);         %求信号的长度
time=(0:N-1)/fs;     %设置横坐标的时间
ns=0.5*cos(2* pi* 50* time);   %计算出50Hz的工频信号
x=s+ns';      %语音信号和50Hz的工频信号叠加
snr1=SNR_singlech(s,x);     %计算叠加后50Hz工频信号之后的信噪比
x1=cos(2* pi * 50 * time);  %设置x1和x2
x2=cos(2* pi * 50 * time);
w1=0.1;        %初始化w1和w2
w2=0.1;
e=zeros(1,N);  %初始化e和y
y=zeros(1,N);
mu=0.05;       %设置mu
for i=1:N 
    y(i)=w1* x1(i)+ w2* x2(i);   %LMS自适应陷波器滤波
    e(i)=x(i)-y(i);
    w1=w1+mu* e(i) * x1(i);
    w2=w2+mu* e(i) * x2(i);
end
output=e';    %陷波器输出
snr2=SNR_singlech(s,output);     %计算滤波后的输出
snr=snr2-snr1;
fprintf('snr1=%5.4f  snr2=%5.4f  snr=%5.4f\n',snr1,snr2,snr);
%wavpaly(x,fs);        %从声卡发声比较
audioplayer(x,fs)
pause(1);
audioplayer(output,fs);
wavwrite(output,'hehe.wav');

세, 실행 결과

여기에 사진 설명 삽입

네, 비고

완전한 코드 또는 쓰기 추가 QQ 1564658423 과거 리뷰
>>>>>>
[기능 추출] matlab 웨이블릿 변환을 기반으로 오디오 워터 마크 임베딩 및 추출 [Matlab 소스 코드 053 포함]
[음성 처리] matlab GUI 기반 음성 신호 처리 [Matlab 포함] 소스 코드 문제 290]
[음성 획득] matlab GUI 음성 신호 수집 기반 [Matlab 소스 코드 291 포함]
[음성 변조] matlab GUI 음성 진폭 변조 기반 [Matlab 소스 코드 292 포함]
[음성 합성] matlab GUI 음성 기반 합성 [Matlab 소스 코드 문제 293 포함]
[음성 암호화] matlab GUI 음성 신호 암호화 및 복호화 기반 [Matlab 소스 코드 295 포함]
[음성 향상] Matlab 웨이블릿 변환 기반 음성 향상 [Matlab 소스 코드 296]
[음성 인식] Matlab GUI 음성 기저 주파수 인식 기반 [Matlab 소스 코드 294 포함]
[음성 향상] Matlab GUI Wiener 필터링 기반 음성 향상 [Matlab 소스 코드 298 포함]
[음성 처리] MATLAB GUI 음성 신호 처리 기반 [Matlab 소스 코드 299 포함] ]
[신호 처리] Matlab 음성 신호 스펙트럼 분석기 기반 [Matlab 소스 코드 325 포함]
[변조 신호] Matlab GUI 기반 디지털 변조 신호 시뮬레이션 [Matlab 소스 코드 336 포함]
[감정 인식] matlab BP 신경 기반 음성 감정 인식 네트워크 [Matlab 소스 코드 349 문제 포함]
[음성 스테 가노 그래피] Matlab Wavelet 변환을 기반으로 한 정량화 된 오디오 디지털 워터 마킹 [Matlab 소스 코드 문제 351 포함]
[특징 추출] MATLAB 오디오 워터 마크 임베딩 및 추출 기반 [Matlab 소스 코드 350주기 포함]
[음성 노이즈 제거] matlab 저역 통과 및 적응 형 필터 노이즈 제거 [Matlab 소스 코드 352주기 포함]
[감정 인식] matlab GUI 음성 기반 감정 분류 인식 [Matlab 소스 코드 354주기 포함]
[기본 처리] Matlab 기반 음성 신호 전처리 [Matlab 소스 코드 364주기 포함]
[음성 인식] Matlab Fourier 변환 0-9 디지털 음성 인식 [Matlab 소스 코드 384주기 포함]
[음성 인식] matlab GUI DTW 기반 0-9 디지털 음성 인식 [Matlab 소스 코드 385 포함]
[음성 재생] Matlab GUI MP3 디자인 [Matlab 소스 코드 425 포함]
[음성 처리] 인간의 귀 마스킹 효과에 기반한 음성 향상 알고리즘 노이즈 비율 계산 [Matlab 소스 코드 428 포함]
[음성 노이즈 제거] Matlab 스펙트럼 감산 노이즈 제거 기반 [Matlab 소스 코드 429 포함]
[음성 인식] MATLAB의 운동량 항목을 기반으로 BP 신경망 음성 인식 [Matlab 소스 코드 430 포함]
[음성 스테 가노 그래피] matlab LSB 음성 숨김 기반 [Matlab 소스 코드 431 포함]
[음성 인식] matlab 남녀 음성 인식 기반 [Matlab 소스 코드 452 포함]
[음성 처리] matlab 음성 노이즈 추가 및 노이즈 감소 처리 기반 [Matlab 소스 코드 문제 473 포함]
matlab 최소 제곱 (LMS) 적응 형 필터 기반 [음성 잡음 제거] [Matlab 소스 코드 481 포함]
[음성 향상] matlab 스펙트럼 빼기, 최소 평균 제곱 및 Wiener 필터 음성 향상 [Matlab 포함] 소스 코드 482 기간】
[통신] matlab GUI 디지털 주파수 대역 (ASK, PSK, QAM) 변조 시뮬레이션
기반 [ Matlab 소스 코드 483 포함] [신호 처리] matlab ECG 신호 처리 기반 [Matlab 소스 코드 484 포함]
[음성 방송] matlab 기반 음성 방송 [Matlab 소스 코드 507 포함]
[신호 처리] EEG 신호 특징 추출 기반 Matlab 웨이블릿 변환 [Matlab 소스 코드 511 포함]
[음성 처리] Matlab GUI DTMF (Dual Tone Multi-Frequency) 신호 감지 기반 [Matlab 포함] 소스 코드 512】
【음성 스테 가노 그래피】 matlab LSB 기반으로 음성 신호의 디지털 워터 마크 구현 【Matlab 소스 코드 513 포함】
【음성 향상】 matlab 매칭 필터를 기반으로 한 음성 인식 【Matlab 소스 코드 514 포함】
【음성 처리】 기반 matlab GUI 음성 주파수 도메인 스펙트로 그램 분석 [Matlab 소스 코드 527 포함]
[음성 노이즈 제거] matlab LMS 기반 RLS 알고리즘 음성 노이즈 제거 [Matlab 소스 코드 528 포함]
[음성 노이즈 제거] matlab LMS 스펙트럼 감산 음성 노이즈 제거 [Matlab 포함] 소스 코드 문제 529]
[음성 노이즈 제거] matlab 소프트 임계 값, 하드 임계 값, 손상 임계 값 음성 노이즈 제거 [Matlab 소스 코드 530 포함]
[음성 인식] MATLAB 특정인의 음성 인식 차별 기반 [Matlab 소스 코드 534 포함]
[음성 잡음 제거] matlab 웨이블릿 소프트 임계 값 음성 잡음 제거를 기반으로 [Matlab 소스 코드 531 포함]

추천

출처blog.csdn.net/TIQCmatlab/article/details/114871082