Home > database >  Matlab voice signal denoising iir filter design
Matlab voice signal denoising iir filter design

Time:09-26


[y, fs]=wavread (wangwei. Wav ');

Sound (y, fs)

N=length (y)

Y_ p=FFT (y, n);

F=fs * (0: n/2-1)/n.

Figure (1)

Subplot (2,1,1); .

The plot (y);

The title (|) in the time domain waveform after the original speech signal sampling;

Xlabel (points)

Ylabe | (' amplitude A ')

Subplot (2,1,2); .

The plot (f, abs (y_ p (1:/));

The title (" after the original speech signal sampling frequency spectrum chart);

Xlabel (points);

Ylabel (' frequency amplitude);

L=length (y)

Whose=0.1 * randn (L, 2);

Y_ z=y + noise;

Sound (y_ z, fs)

N=length (y); .

Y_ zp=ft (y, z, n);

F=fs * (0: n/2-1)/n. .

Figure (2)

Subplot (2,1,1); .

The plot (y_ _z);

The title (" add noise speech signal time domain waveform);

Xlabel (points)

A 'ylabel (' amplitude)

Subplot (2,1,2);

The plot (f, abs (y_ zp (1: n/a));

The title (" add noise speech signal spectrum);

Xlabel (' points');

Ylabel (' frequency amplitude);

Fp=600; Fs=800; Fs=44100;

The rp=1; Rs=10;

Wp=2 * PI * fp/Fs.

Ws pit=2 * * fs/fs.

Fs1=1;

Wap=2 * tan (wp/2);

The was=2 * tan (ws/2);

[N, wc]=buttord (wap, the was, rp, rs);

[B, A]=butter (N, wc); [Bz, Az]=bilinear (B, A., Fs1);

Figure (3);

[h, w]=freqz (Bz, Az, 512, Fs1 * 44100);

The plot (w, abs (h));

The title (butterworth low-pass filter ");

Xlabel (frequency (HZ)); Ylabel (loss (dB)); The grid on;

Yd=filter (Bz, Az, y_ z);

Ydd=FFT (yd, n);

F=fs * (0: n/2-1)/n.

Figure (4);

Subplot (2,1,1); The plot (yd);

After the title (" filtering signal time domain waveform);

Xlabel (points')

A 'ylabel (" amplitude)

Subplot (2,1,2); .

The plot (f, abs (ydd (1: n/a));

The title (filtered signal spectrum ');

Xlabel (" points ");

Ylabel (' frequency amplitude);

Sound (yd, Fs);



Want to ask what went wrong
And I think the waveform of leach
  • Related