Link Projectpage
Matlab Course Project Code
You can also download the m-file on index
- First import the sound data with drag and drop to matlab in Matlab
- %data = sound-data
- %fs = Samplingrate
- %check the spectrogram of the given sound-sample;
- spectrogram(data,1024,512,2048,fs,'yaxis');
- %detect the corner frequency of the noise (example ~5500 Hz)
- %build a lowpasses with corner frequency of 7500 Hz
- Fn = fs/2;
- fc = 7500; %Herrausgefunden Grenzfrequenz
- lpass = fc/Fn*sinc(fc/Fn*(-200:200)).*blackman(401)';
- figure;freqz (lpass,1,1024,fs);
- %Begutachten und zur not das Blackman window vergrößern um eine besser steilheit zu bekommen
- %daten durch den filter jagen
- data1 = filter(lpass,1,data);
- figure; spectrogram(data1,1024,512,2048,fs,'yaxis');
- %Ton gefunden bei 650Hz erstellen eines neuen bandstop filters
- %bandbreite etwa 100Hz
- f0 = 650; %Mittlere Frequenz des Bandstopfilters
- deltaf = 100; %delta um den frequenzpunkt
- omega0 = f0*2*pi/fs;
- aa = deltaf*pi/fs;
- zz = exp([j;-j]*omega0);
- pp = zz*(1-aa);
- bb = poly(zz);
- aa = poly(pp);
- figure; freqz(bb,aa,1024,fs);
- %daten durch den filter jagen
- data2 = filter(bb,aa,data1);
- figure; spectrogram(data2,1024,512,2048,fs,'yaxis');
- %stöhrgeräusch von 0-100hz entfernen
- f0 = 0;
- deltaf = 200; %delta um den frequenzpunkt
- omega0 = f0*2*pi/fs;
- aa = deltaf*pi/fs;
- zz = exp([j;-j]*omega0);
- pp = zz*(1-aa);
- bb = poly(zz);
- aa = poly(pp);
- figure; freqz(bb,aa,1024,fs);
- data3 = filter(bb,aa,data2);
- figure; spectrogram(data3,1024,512,2048,fs,'yaxis');
- %lauter machen und abspielen
- sound(data3*50000,fs);
zurück zum Index