#Date: 19/07/2023 #Author: Adrien COMBE #Description: Retake exam Signal Processing % Load the CSV file containing the signal signal = csvread('unknownsignal.csv'); % Given sampling frequency Fs = 650 Hz Fs = 650; % Time vector t = (0:length(signal)-1) / Fs; % Plot the signal in the time domain figure; plot(t, signal); xlabel('Time (s)'); ylabel('Amplitude'); title('Mysterious Signal in Time Domain'); % Compute the length of the signal N = length(signal); % Perform the Fast Fourier Transform (FFT) fft_result = fft(signal); % Compute the frequency axis for the FFT plot f = (0:N-1) * Fs / N; % Plot the magnitude spectrum of the signal figure; plot(f, abs(fft_result)); xlabel('Frequency (Hz)'); ylabel('Magnitude'); title('Magnitude Spectrum (FFT) of Mysterious Signal'); % Identify the dominant frequencies (sine wave components) % Set a threshold to filter out noise threshold = 50; % Find the indices of dominant frequencies above the threshold dominant_indices = find(abs(fft_result) > threshold); % Extract the dominant frequencies and their magnitudes dominant_frequencies = f(dominant_indices); dominant_magnitudes = abs(fft_result(dominant_indices)); % Display the dominant frequencies and their magnitudes disp('Dominant Frequencies (Hz):'); disp(dominant_frequencies); disp('Magnitudes:'); disp(dominant_magnitudes);