diff --git a/downsample_analysis.m b/downsample_analysis.m index 231082a..29f03ca 100644 --- a/downsample_analysis.m +++ b/downsample_analysis.m @@ -2,7 +2,7 @@ clear all close all clc -% Modify the desired frequency foir the whole code here +% Modify the desired frequency for the whole code here desired_freq = 4000; % Read and Set up coeficient [y, fs] = audioread("sound/modulator22.wav"); diff --git a/one.png b/one.png index 1cbb2e5..26d8d04 100644 Binary files a/one.png and b/one.png differ diff --git a/spectral_analysis.m b/spectral_analysis.m index 8963dd3..926f076 100644 --- a/spectral_analysis.m +++ b/spectral_analysis.m @@ -3,32 +3,37 @@ close all clc [y, fs] = audioread("sound/modulator22.wav"); -ranges = [17000, 20000; 29000, 37000; 41000, 46000]; +ranges = [17000, 21000; 30500, 36000; 41500, 46000]; one = y(ranges(1,1):ranges(1,2)); two = y(ranges(2,1):ranges(2,2)); three = y(ranges(3,1):ranges(3,2)); -word = one; +word = three; n = length(word); f = (0:n-1)*(fs/n); f1 = 0;%Hz -f2 = 4000;%Hz +f2 = 2500;%Hz idx = find(f >= f1 & f <= f2); %define the index of the freq range f = f(idx); y = fft(word, n);% compute DFT of input signal power = abs(y).^2/n; -power = power(idx); +power = power(idx);%limit the signal to the frequency ROI [val, ind] = max(power); -%lowpass for the formant - -Fc = 2000; % define the cutoff frequency of the low-pass filter -[b, a] = butter(6, Fc/(fs/2), 'low'); % design a 4th-order Butterworth low-pass filter -Pxx_filt = filter(b, a, power); % apply the filter to the power spectrum -length(Pxx_filt) -length(f) +%lowpass for the formant, moving average +for j = 1:length(idx) + tot = 0; + for k = j-18:j + if k <=0 + tot = tot + power(1); + else + tot = tot + power(k); + endif + endfor + power_avg(j) = 1/6*(tot); +endfor figure; @@ -39,7 +44,7 @@ ylabel('Amplitude (a.u.)'); subplot(1,2,2) % freq range plot plot(f,10*log10(power/power(ind))); hold on; -plot(f, 10*log10(Pxx_filt), 'r'); +plot(f, 10*log10(power_avg/power(ind)), 'r'); xlabel('Frequency (Hz)') ylabel('Power (dB)') diff --git a/three.png b/three.png index e43cf70..316d8e6 100644 Binary files a/three.png and b/three.png differ diff --git a/two.png b/two.png index acd8f7b..ae5e38a 100644 Binary files a/two.png and b/two.png differ