51 lines
1.5 KiB
Matlab
51 lines
1.5 KiB
Matlab
pkg load signal
|
|
|
|
#[signal, Fs] = audioread("modulator22.wav");
|
|
#t=0:1/Fs:length(signal)/Fs - 1/Fs;
|
|
#figure; % Create a new figure
|
|
#plot(t,signal);
|
|
#xlabel('Time(s)');
|
|
#ylabel('Signal Amplitude (normalized unit)');
|
|
|
|
#audiowrite("modifiedmodulator.wav",signal,Fs/2);
|
|
[signal, Fs] = audioread("modifiedmodulator.wav");
|
|
t=0:1/Fs:length(signal)/Fs - 1/Fs;
|
|
#figure; % Create a new figure
|
|
#plot(tt,signall);
|
|
#xlabel('Time(s)');
|
|
#ylabel('Signal Amplitude (normalized unit)');
|
|
|
|
% Parameters for measurements
|
|
num_measurements = 100; % Number of measurements
|
|
durations_dft = zeros(1, num_measurements);
|
|
durations_fft = zeros(1, num_measurements);
|
|
|
|
for i = 1:num_measurements
|
|
% Measure time taken for DFT
|
|
tic;
|
|
[power_dft, duration_dft] = frequencySpectrum(signal, Fs, false, false);
|
|
durations_dft(i) = duration_dft;
|
|
|
|
% Measure time taken for FFT with padding
|
|
tic;
|
|
[power_fft, duration_fft] = frequencySpectrum(signal, Fs, true, false);
|
|
durations_fft(i) = duration_fft;
|
|
end
|
|
|
|
% Calculate average and standard deviation
|
|
avg_duration_dft = mean(durations_dft);
|
|
std_dev_dft = std(durations_dft);
|
|
|
|
avg_duration_fft = mean(durations_fft);
|
|
std_dev_fft = std(durations_fft);
|
|
|
|
fprintf('Average duration for DFT: %f seconds\n', avg_duration_dft);
|
|
fprintf('Standard deviation for DFT: %f seconds\n', std_dev_dft);
|
|
fprintf('\n');
|
|
fprintf('Average duration for FFT (with padding): %f seconds\n', avg_duration_fft);
|
|
fprintf('Standard deviation for FFT (with padding): %f seconds\n', std_dev_fft);
|
|
|
|
|
|
|
|
|