Академический Документы
Профессиональный Документы
Культура Документы
I. L thuyt :
1. Gii thiu :
Trong cuc sng, ting ni ng mt vai tr rt quan trng i vi con ngi.
Cng vi ting ni l s xut hin ca rt nhiu cc loi dch v thoi nh ngy
nay.Tuy nhin vic bo ton c tn hiu ting ni trn cc dch v ny l iu v
cng kh khn do s mt mt v suy gim tn hiu v nht l nh hng ca nhiu
s lm cho tn hiu ting ni khng cn nh ban u. V l do m cc thut
ton v Speech Enhancement ra i. Tuy khng th bo ton c y nguyn tn
hiu ban u nhng khi s dng cc thut ton ny ta c th tng cng c cht
lng ting ni v gim bt nhiu nn tn hiu sau khi x l n ngi nghe
vn mang y ni dung thng tin v khng gy kh chu bi nhiu i vi
ngi nghe. V vy, Speech Enhancement ng mt vai tr rt quan trng trong
lnh vc thoi.
y cng l ti ca Final Project - DSP 2. Do nhm bt tay vo tm
hiu v Speech Enhancement, nghin cu cc thut ton ca n thc hin v
nh gi hiu qu ca cc thut ton trong mi trng thc t .
2. Thut ton Spectral Subtraction :
2.1 Gii thiu chung :
Spectral subtraction l thut ton da trn mt nguyn tc c bn, tha nhn
s c mt ca nhiu, n c th t c mc ch c lng ph ca ting ni
sch bng cch tr i ph ca nhiu vi ph ca ting ni b nhiu. Ph ca
nhiu c th c c lng, cp nht trong nhiu chu k khi khng c mt ca
tn hiu. S tha nhn ch c thc hin i vi nhiu khng i hoc c tc
x l bin i chm, v khi ph ca nhiu s khng thay i ng k gia
cc khong thi gian cp nht. Vic tng cng tn hiu t c bng cch tnh
IDFT (bin i Fourier ri rc ngc) ca ph tn hiu c c lng c s
Nhm : 05 Trang 1
Bo co DSP 2 Project Speech Enhancement
dng pha ca tn hiu c nhiu. Thut ton ny l mt php tnh c lng n
gin v n ch gm bin i DFT thun v DFT ngc.
Qu trnh x l tn hiu n gin nh vy nn khi qu trnh x l khng c
thc hin mt cch cn thn th ting ni ca chng ta s b mo. Nu nh vic ly
hiu qu ln th c th loi b i mt phn thng tin ca ting ni, cn nu vic
thc hin ly hiu nh th nhiu s vn cn c gi li trong tn hiu.
S khi cho thut ton SS
2.2 Spectral subtraction i vi ph bin :
Gi thit rng y[k] l tn hiu vo b nhiu, n bng tng ca tn hiu sch
s[k] v tn hiu nhiu n[k]:
y[k] = x[k] + n[k]
Thc hin bin i Fourier ri rc c 2 v, ta c
Y(
) = X(
) + N(
)
Chng ta c th biu din Y(
)| l bin ph, v
) (
y l pha ca tn hiu b nhiu.
Ph ca tn hiu nhiu N(
X
.
Cn ch rng bin ph ca tn hiu c tng cng l
|) ) ( | | ) ( | ( | ) ( | N Y X
, c th b m do s sai st trong vic c lng ph ca
nhiu. Tuy nhin, bin ca ph th khng th m, nn chng cn phi m bo
rng khi thc tr hai ph th ph ca tn hiu tng cng |X(
)|
khng b m. Tuy nhin khi ting ni cng vi nhiu b hn ( )
j
e
th c th dn
n vic loi b khng ng thng tin ting ni do c th gim r.
2.3 Spectral subtraction i vi ph cng sut
Thut ton Spectral subtraction i vi ph bin c th c m rng sang
min ph cng sut. V trong mt vi trng hp, n c th lm vic tt vi ph
cng sut hn l vi ph bin . Ly ph cng sut ca tn hiu b nhiu trong
mt khong ngn, chng ta bnh phng |Y(
)|, ta c:
Nhm : 05 Trang 3
'
>
, 0
| ) ( | | ) ( | , | ) ( | ) (
) (
^ ^
N Y N Y
X
Bo co DSP 2 Project Speech Enhancement
{ } ) ( ) ( Re . 2 ) ( ) (
) ( ) ( ) ( . ) ( ) ( ) ( ) (
*
2 2
* *
2 2 2
N X N X
N X N X N X Y
+ +
+ + +
| ) ( N |
2
,
) ( ). (
*
N X
v
) ( ). ( N X
khng th tnh c mt cch trc tip v
xp x bng E{|
) ( N
|
2
}, E{ ) ( ). (
*
N X } v E{ ) ( ). ( N X
}, khi E[ ] l ton
t k vng. Bnh thng th E{|
) ( N
|
2
} c c lng khi khng c ting ni
hot ng v c biu th l |
) (
N
|
2
. Nu chng ta tha nhn n[k] = 0 v khng
c mt s tng quan no vi tn hiu sch x[k], th E{ ) ( ). (
*
N X } v E{
) ( ). ( N X
} xem l 0. Khi ph cng sut ca tn hiu sch c th tnh c
nh sau
2
^
2 2
^
| ) ( | | ) ( | | ) ( | N Y X
Cng thc trn biu din thut ton tr ph cng sut. Nh cng thc trn, th
ph cng sut c c lng
2
| ) ( |
X
khng c m bo lun l mt s
dng, nhng c th s dng phng php chnh lu bn sng nh trnh by
trn. Tn hiu c tng cng s thu c bng cch tnh IDFT ca
| ) ( |
X
(bng
cch ly cn bc hai ca
| ) ( |
X
2
), c s dng pha ca tn hiu ting ni b nhiu.
Cng thc (1) c th c vit theo dng sau:
2 2 2
^
| ) ( | ) ( | ) ( | Y H X
Khi :
2
2
^
| ) ( |
| ) ( |
1 ) (
Y
N
H
Trong l thuyt h thng tuyn tnh, H(
) l hm truyn t ca h thng.
Trong l thuyt ca Speech enhancement, chng ta xem H(
) l hm li hay
hm nn. V H(
) c gi tr thc nn bin i
IDFT l h[n] i xng vi nhau qua im 0 v khng nhn qu. Trong min thi
gian th h[n] c xem l mt b lc khng nhn qu. Nn s c mt phng php
c xut hiu chnh hm H(
) p ng ca n tr thnh b lc nhn
qu trong min thi gian.
Trng hp chung th thut ton Spectral subtraction c th c biu din:
p p p
N Y X | ) ( | | ) ( | | ) ( |
^ ^
Trong p l s m cng sut, vi p = 1 l l phng php tr ph bin
in hnh, p = 2 l phng php tr ph cng sut.
3 . Thut ton Wiener Filtering :
3.1 Gii thiu chung
Thut ton Spectral Subtraction da ch yu vo trc gic v kinh
nghim.Chnh xc hn thut ton ny c pht trin da trn mt nhiu c tht
c cng vo v tn hiu sch c c lng mt cch n gin bng cch tr
i ph ca nhiu t ph ca tnh hiu ting ni c nhiu. Vi cch lm ny tn hiu
ting ni sch khng th c c bng cch ti u nht. khc phc nhc im
ny ta s dng thut ton Wiener Filtering (WF).
WF l thut ton c s dng rng ri trong nng cao cht lng ting ni.
Ngun gc c bn ca thut ton WF l to ra tn hiu ting ni sch bng cch
nn nhiu. c lng c thc hin bng cch h thp sai s bnh phng trung
bnh (Mean Square Error) gia tn hiu mong mun v tn hiu c lng.
3.2Nguyn l c bn ca Wiener Filtering :
Gi thit rng y[k] l tn hiu vo b nhiu, n l tng ca tn hiu sch v tn
hiu nhiu n[k]:
y[k]=x[k]+n[k] (1)
Nhm : 05 Trang 5
Bo co DSP 2 Project Speech Enhancement
Thc hin bin i Fourier ri rc c 2 v,ta c
) ( ) ( ) ( N X Y +
(2)
Chng ta c th biu din Y(
)| l bin ph, v
) (
y l pha ca tn hiu b nhiu.
Ph ca tn hiu nhiu N(
X
t Y(
) bng mt
hm phi tuyn c xc nh nh sau :
) ( / ) ( ) ( Y X G
(5)
) ( G
c th c p dng theo Wiener Filtering :
} ) ( { } ) ( {
} ) ( {
) (
2 2
2
N E S E
S E
G
+
(6)
Trong
) (
s
P
v
) (
d
P
l ph cng sut ca tin hiu sch.
t Priori SNR v Posteriori SNR nh sau :
} ) ( {
} ) ( {
2
2
N E
S E
SNR
pri
(7)
} ) ( {
} ) ( {
2
2
N E
Y E
SNR
post
(8)
Mt kh khn trong cc thut ton nng cao cht lng ting ni l ta khng c tn
hiu trc tn hiu sch s[n] nn ta khng th bit ph ca n. Do ta khng th
tnh c pri
SNR
m trong cc h thng nng cao cht lng ging ni th pri
SNR
l tham s rt cn thit c lng tn hiu sch.Trong cc h thng nng cao
Nhm : 05 Trang 6
Bo co DSP 2 Project Speech Enhancement
cht lng ging ni c th c lng c pri
SNR
v post
SNR
bng cch cho cc
thng s thch hp vo cc phng trnh sau :
2
1
) ( ) 1 ( ) ( ) (
t
t
d
t
d N P P +
(9)
) (
} ) ( {
2
t
d
post
P
Y E
SNR
(10)
) (
) (
1 ) ( ) 1 ( ) (
2
1
^
d
t
t
post
t
pri
P
S
SNR P SNR
+
1
]
1
(11)
Trong P[.] l hm chnh lu bn sng c dng nh sau:
'
>
, 0
0 ,
) (
X X
X P
(12)
V v ch s
t
[.]
tn hiu ti khong thi gian ang x l.
Trong phng trnh nu cho h s
ta c th c lng c pri
SNR
bng
post
SNR
. Trong thc t h s
1
) (
(13)
S khi ca thut ton Wiener Filtering:
S khi ca thut ton Wiener Filtering.
Nhm : 05 Trang 7
Tn hiu
b nhiu
FFT
|.|2
c lng, cp
nht nhiu
Pha ca
tn hiu
|.|
1/2
IFFT
Tn hiu sau khi
tng cng
) ( Y
Priori
SNR
Hm x l
gim
nhiuWF
p r i
S N R
p
N | ) ( |
^
1
0
) (
1
) (
M
i
i i
Y
M
N
Sau , s dng phng php VAD nhn bit cc frame tip theo, frame
no l frame nhiu v s cp nht nhiu cho cc frame tip theo. c th nhn
bit c frame no l nhiu th chng ta thc hin so snh bin ph ca nhiu
c c lng vi bin ph ca tn hiu b nhiu .
Nhm : 05 Trang 10
Bo co DSP 2 Project Speech Enhancement
* Kt lun :
Ni dung ca phn ny gip chng ta hiu nguyn l chung ca thut ton
Spectral Subtraction v Wiener Filtering. hai thut ton c th thc hin
c th cn phi phn tch tn hiu thnh cc frame v cc frame phi xp chng
ln nhau, v sau khi cc frame c x l trong min tn s v chuyn i v li
min thi gian th cc frame phi c lin kt li vi nhau theo ng phng
php tng ng vi phng php phn tch tn hiu u vo, qu trnh gi l
overlap v adding. Chnh iu s lm cho tn hiu ca chng ta sau khi x l
trit nhiu s khng b mo, m bo cht lng ca ting ni. Ni dung ca
chng cng trnh by vn c lng nhiu, y l ci chnh m speech
enhancement cn gii quyt, n quyt nh tnh hiu qu ca thut ton v cht
lng ca ting ni sau khi x l trit nhiu.
8. Thut ton :
8.1. Tr ph:
Nhm : 05 Trang 11
Bo co DSP 2 Project Speech Enhancement
Nhm : 05 Trang 12
Tnh li mc nhiu N
End
I=I+1;nhp frame tip theo
Begin
Phn chia Frame tn hiu u
vo
Tinh cong suat nhieu trung binh N ban
u
I=0;Nhp frame u tin
VAD
X(:,i)=Beta*Y(:,i)
D=YS(:,i)-N; % Thc hin tr ph
X(:,i)=max(D,0);
Y=bin i FFT cho cc frame
X
=
X =
=
X
=
S
SpeechFlag==0?
S
I<number of frame
Thc hin IFFT v ni cc
frame
I<number of frame
Thc hin IFFT v ni cc
frame X
Bo co DSP 2 Project Speech Enhancement
+ Chn cc thng s lin quan n thut ton : wnd, IS, W ,SP.
+ Tnh s khung nhiu ban u (NIS).
+ Chia tn hiu thnh cc khung, thc hin bin i FFT.
+ Tnh trung bnh cng sut cc khung nhiu ban u v phng sai ph cng sut
nhiu ban u.
+ Chn h s lm nhn Alpha = 0.9.
+ Khi to hm nn ( Gain function ) : G.
+ Kim tra ln lt tng khung :
- Nu s khung < NIS th cho speechflag = 0.
- Nu s khung > NIS th gi hm vad kim tra.
- Tin hnh cp nhp nhiu nu speechflag = 0.
- Tnh G v tn hiu kh nhiu.
+ Khi phc tn hiu c x l .
II. Thc hnh:
1. Code Spectral Subtraction :
function [output,Speech]=SSBoll79(signal,fs,IS)
% OUTPUT=SSBOLL79(S,FS,IS)
% Spectral Subtraction based on Boll 79. Amplitude spectral subtraction
% Includes Magnitude Averaging and Residual noise Reduction
% S is the noisy signal, FS is the sampling frequency and IS is the initial
% silence (noise only) length in seconds (default value is .25 sec)
%
% April-05
Nhm : 05 Trang 15
Bo co DSP 2 Project Speech Enhancement
% Esfandiar Zavarehei
if (nargin<3 | isstruct(IS)) % Bien nargin la de xac dinh so gia
tri dau vao.
IS =.25; % Khoang thoi gian ban dau de uoc luong nhieu.
end
W = fix(.025*fs); %Window length is 25 ms, % di ca s, hay di 1 frame
nfft = W;
SP = .5; %Shift percentage is 40% (10ms) %Overlap-Add method works good with this
value(.4)
wnd = hamming(W);
% wnd=rectwin(W);
NIS = fix((IS*fs-W)/(SP*W) +1);%number of initial silence segments
Gamma = 1;%Magnitude Power (1 for magnitude spectral subtraction 2 for power
spectrum subtraction)
disp(' Segmentation');
y = segment(signal,W,SP,wnd);
disp(' FFT');
Y = fft(y,nfft);
Yphase = angle(Y(1:fix(end/2)+1,:)); %Noisy Speech Phase
Y = abs(Y(1:fix(end/2)+1,:)).^Gamma;%Specrogram
numberOfFrames=size(Y,2); % xc nh tng s frame trong 1 tn hiu %S ct ca ma
trn Y chnh l s frame
FreqResol = size(Y,1); %S hng ca ma trn Y chnh l tn s
%size(Y),
disp(' Noise Initialization');
n = mean(Y(:,1:NIS)')'; %initial Noise Power Spectrum mean
NoiseCounter = 0;
NoiseLength = 9;%This is a smoothing factor for the noise updating
NRM = zeros(size(N));% Noise Residual Maximum (Initialization)
Beta =.05; % H s suy gim tn hiu khi c cho l nhiu. disp(' Magnitude
Averaged');
Nhm : 05 Trang 16
Bo co DSP 2 Project Speech Enhancement
YS = Y; %Y Magnitude Averaged
for i = 2:(numberOfFrames-1)
YS(:,i)=(Y(:,i-1)+Y(:,i)+Y(:,i+1))/3;
end
disp(' Spectral Subtraction');
X = zeros(FreqResol,numberOfFrames);
for i = 1:numberOfFrames
[NoiseFlag, SpeechFlag, NoiseCounter,
Dist]=vad(Y(:,i).^(1/Gamma),N.^(1/Gamma),NoiseCounter); %Magnitude Spectrum
Distance VAD: l hm xc nh xem frame l frame nhiu
hay frame c tn hiu ting ni.
Speech(i,1) = SpeechFlag;
if SpeechFlag = = 0
N = (NoiseLength*N+Y(:,i))/(NoiseLength+1); %Update and smooth noise
NRM = max(NRM,YS(:,i)-N);%Update Maximum Noise Residue
X(:,i)=Beta*Y(:,i);
else
D=YS(:,i)-N; % Specral Subtraction
if i>1 && i<numberOfFrames %Residual Noise Reduction
for j=1:length(D)
if D(j)<NRM(j)
D(j)=min([D(j) YS(j,i-1)-N(j) YS(j,i+1)-N(j)]);
end
end
end
X(:,i) = max(D,0);
end
end
disp(' Synthesis');
output = OverlapAdd2(X.^(1/Gamma),YPhase,W,SP*W); % Ni cc frame sau khi
a trit nhiu, s dng hm OverlapAdd2 c nh ngha bn di.
Nhm : 05 Trang 17
Bo co DSP 2 Project Speech Enhancement
function ReconstructedSignal=OverlapAdd2(XNEW,yphase,windowLen,ShiftLen);
%Y=OverlapAdd(X,A,W,S);
%Y is the signal reconstructed signal from its spectrogram. X is a matrix
%with each column being the fft of a segment of signal. A is the phase
%angle of the spectrum which should have the same dimension as X. if it is
%not given the phase angle of X is used which in the case of real values is
%zero (assuming that its the magnitude). W is the window length of time
%domain segments if not given the length is assumed to be twice as long as
%fft window length. S is the shift length of the segmentation process ( for
%example in the case of non overlapping signals it is equal to W and in the
%case of %50 overlap is equal to W/2. if not givven W/2 is used. Y is the
%reconstructed time domain signal.
%Sep-04
%Esfandiar Zavarehei
if nargin<2
yphase = angle(XNEW);
end
if nargin<3
windowLen = size(XNEW,1)*2;
end
if nargin<4
ShiftLen = windowLen/2;
end
if fix(ShiftLen) ~ = ShiftLen
ShiftLen = fix(ShiftLen);
disp('The shift length have to be an integer as it is the number of samples.')
disp(['shift length is fixed to ' num2str(ShiftLen)])
end
[FreqRes FrameNum] = size(XNEW);
Spec = XNEW.*exp(j*yphase);
Nhm : 05 Trang 18
Bo co DSP 2 Project Speech Enhancement
if mod(windowLen,2) %if FreqResol is odd
Spec = [Spec;flipud(conj(Spec(2:end,:)))];
else
Spec = [Spec;flipud(conj(Spec(2:end-1,:)))];
end
sig = zeros((FrameNum-1)*ShiftLen+windowLen,1);
weight=sig;
for i=1:FrameNum
start=(i-1)*ShiftLen+1;
spec=Spec(:,i);
sig(start:start+windowLen-1)=sig(start:start+windowLen-
1)+real(ifft(spec,windowLen));
end
ReconstructedSignal=sig;
function [NoiseFlag, SpeechFlag, NoiseCounter,
Dist]=vad(signal,noise,NoiseCounter,NoiseMargin,Hangover)
%[NOISEFLAG, SPEECHFLAG, NOISECOUNTER,
DIST]=vad(SIGNAL,NOISE,NOISECOUNTER,NOISEMARGIN,HANGOVER)
%Spectral Distance Voice Activity Detector
%SIGNAL is the the current frames magnitude spectrum which is to labeld as
%noise or speech, NOISE is noise magnitude spectrum template (estimation),
%NOISECOUNTER is the number of imediate previous noise frames, NOISEMARGIN
%(default 3)is the spectral distance threshold. HANGOVER ( default 8 )is
%the number of noise segments after which the SPEECHFLAG is reset (goes to
%zero). NOISEFLAG is set to one if the the segment is labeld as noise
%NOISECOUNTER returns the number of previous noise segments, this value is
%reset (to zero) whenever a speech segment is detected. DIST is the
%spectral distance.
%Saeed Vaseghi
%edited by Esfandiar Zavarehei
Nhm : 05 Trang 19
Bo co DSP 2 Project Speech Enhancement
%Sep-04
if nargin<4
NoiseMargin=3; % l ngng nhn bit nhiu trong VAD trong bi ny l 3dB
end
if nargin<5
Hangover=8; % s frame lin tip c t s tn hiu/nhiu di NoiseMargin nhn
bit nhiu
end
if nargin<3
NoiseCounter=0;
end
FreqResol=length(signal);
SpectralDist= 20*(log10(signal)-log10(noise));
SpectralDist(find(SpectralDist<0))=0;
Dist=mean(SpectralDist);
if (Dist < NoiseMargin)
NoiseFlag=1;
NoiseCounter=NoiseCounter+1;
else
NoiseFlag=0;
NoiseCounter=0;
end
% Detect noise only periods and attenuate the signal
if (NoiseCounter > Hangover)
SpeechFlag=0;
else
SpeechFlag=1;
end
Nhm : 05 Trang 20
Bo co DSP 2 Project Speech Enhancement
function Seg=segment(signal,W,SP,Window)
% SEGMENT chops a signal to overlapping windowed segments
% A= SEGMENT(X,W,SP,WIN) returns a matrix which its columns are segmented
% and windowed frames of the input one dimentional signal, X. W is the
% number of samples per window, default value W=256. SP is the shift
% percentage, default value SP=0.4. WIN is the window that is multiplied by
% each segment and its length should be W. the default window is hamming
% window.
% 06-Sep-04
% Esfandiar Zavarehei
if nargin<3
SP=.4;
end
if nargin<2
W=256;
end
if nargin<4
Window=hamming(W);%256*1
end
Window=Window(:); %make it a column vector
L=length(signal);
SP=fix(W.*SP);%102
N=fix((L-W)/SP +1); %number of segments 219
Index = (repmat(1:W,N,1)+repmat((0:(N-1))'*SP,1,W))';%256*219
Hw = repmat(Window,1,N);
Seg = signal(Index).*hw;
2. Code Wiener Filtering :
function output=WienerScalart96(signal,fs,IS)
Nhm : 05 Trang 21
Bo co DSP 2 Project Speech Enhancement
% output=WIENERSCALART96(signal,fs,IS)
% Wiener filter based on tracking a priori SNR usingDecision-Directed
% method, proposed by Scalart et al 96. In this method it is assumed that
% SNRpost=SNRprior +1. based on this the Wiener Filter can be adapted to a
% model like Ephraims model in which we have a gain function which is a
% function of a priori SNR and a priori SNR is being tracked using Decision
% Directed method.
% Author: Esfandiar Zavarehei
% Created: MAR-05
if (nargin<3 | isstruct(IS))
IS=.25; %Initial Silence or Noise Only part in seconds
end
W=fix(.025*fs); %Window length is 25 ms
SP=.5; %Shift percentage is 40% (10ms) %Overlap-Add method works good with this
value(.4)
wnd=hamming(W);
NIS=fix((IS*fs-W)/(SP*W) +1);%number of initial silence segments
y=segment(signal,W,SP,wnd); % This function chops the signal into frames
Y=fft(y);
YPhase=angle(Y(1:fix(end/2)+1,:)); %Noisy Speech Phase
Y=abs(Y(1:fix(end/2)+1,:));%Specrogram
numberOfFrames=size(Y,2);
FreqResol=size(Y,1);
N=mean(Y(:,1:NIS)')'; %initial Noise Power Spectrum mean
LambdaD=mean((Y(:,1:NIS)').^2)';%initial Noise Power Spectrum variance
alpha=0.99; %used in smoothing xi (For Deciesion Directed method for estimation of A
Priori SNR)
NoiseCounter=0;
NoiseLength=9;%This is a smoothing factor for the noise updating
G=ones(size(N));%Initial Gain used in calculation of the new xi
Gamma=G;
Nhm : 05 Trang 22
Bo co DSP 2 Project Speech Enhancement
X=zeros(size(Y)); % Initialize X (memory allocation)
h=waitbar(0,'Wait...');
for i=1:numberOfFrames
%%%%%%%%%%%%%%%%VAD and Noise Estimation START
if i<=NIS % If initial silence ignore VAD
SpeechFlag=0;
NoiseCounter=9;
else % Else Do VAD
[NoiseFlag, SpeechFlag, NoiseCounter, Dist]=vad(Y(:,i),N,NoiseCounter);
%Magnitude Spectrum Distance VAD
end
if SpeechFlag==0 % If not Speech Update Noise Parameters
N=(NoiseLength*N+Y(:,i))/(NoiseLength+1); %Update and smooth noise mean
LambdaD=(NoiseLength*LambdaD+(Y(:,i).^2))./(1+NoiseLength); %Update and
smooth noise variance
end
%%%%%%%%%%%%%%%%%%%VAD and Noise Estimation END
gammaNew=(Y(:,i).^2)./LambdaD; %A postiriori SNR
xi=alpha*(G.^2).*Gamma+(1-alpha).*max(gammaNew-1,0); %Decision Directed
Method for A Priori SNR
Gamma=gammaNew;
G=(xi./(xi+1));
X(:,i)=G.*Y(:,i); %Obtain the new Cleaned value
waitbar(i/numberOfFrames,h,num2str(fix(100*i/numberOfFrames)));
end
close(h);
output=OverlapAdd2(X,YPhase,W,SP*W); %Overlap-add Synthesis of speech
%output=filter(1,[1 -pre_emph],output); %Undo the effect of Pre-emphasis
%output=0.999*(output/max(abs(output)));
Nhm : 05 Trang 23
Bo co DSP 2 Project Speech Enhancement
3. Thc hin thut ton :
Bng 1. Cc modul v tham s c trng
Module Tham s Ghi ch
Framing
(Segmentation)
Loi ca s Hamming, Blackman, Kaiser, Hann
(trn thc t ch yu l s dng ca s
Hamming)
Chiu di ca s
W
IS (initial
segment)
SP(Shift
percentage)
nh hng trc tip n NIS, phng
php Overlap/Add, Y nh hng
cht lng thoi.
VAD (Voice
Activity
Detection)
Initialization,
Noise Estimation
and Update noise
Gamma = 1(2)
Gamma = 1: Tr ph bin .
Gamma = 2: Tr ph cng sut.
IS (initial
segment)
Khong yn lng (khng c tn hiu, ch
c nhiu).