Obisidian vault auto-backup: 07-01-2026 13:51:56 on . 5 files edited

This commit is contained in:
2026-01-07 13:51:56 +01:00
parent 935d699a14
commit 0cf4a3a226
5 changed files with 117 additions and 8 deletions

View File

@@ -219,17 +219,17 @@
},
"active": "8beea5ef99c3c6ed",
"lastOpenFiles": [
"ISEN/Traitement du signal/CIPA4/TP/TP4/~WRL0238.tmp",
"ISEN/Traitement du signal/CIPA4/TP/TP4/~WRD0235.tmp",
"ISEN/Traitement du signal/CIPA4/TP/TP4/~WRL1355.tmp",
"ISEN/Traitement du signal/CIPA4/TP/TP4/~WRD1351.tmp",
"ISEN/Traitement du signal/CIPA4/TP/TP4/TP4_Experience2.asv",
"ISEN/Traitement du signal/CIPA4/TP/TP4/TP4_Experience2.m",
"ISEN/Traitement du signal/CIPA4/TP/TP4/Copy_of_TP4_Experience1.m",
"ISEN/Traitement du signal/CIPA4/TP/TP4/~WRL3213.tmp",
"ISEN/Traitement du signal/CIPA4/TP/TP4/~WRD3209.tmp",
"ISEN/Traitement du signal/CIPA4/TP/TP4/TP4_Experience1.m",
"ISEN/Traitement du signal/CIPA4/TP/TP4/TP3_Experience1.m",
"ISEN/Traitement du signal/CIPA4/TP/TP4/~WRL0001.tmp",
"ISEN/Traitement du signal/CIPA4/TP/TP4/~WRD0000.tmp",
"ISEN/Traitement du signal/CIPA4/TP/TP4/~$P4cipa.doc",
"ISEN/Traitement du signal/CIPA4/TP/TP4/TP2425cipaCR.doc",
"ISEN/Traitement du signal/CIPA4/TP/TP4/DS2425cipaSACCADE.wav",
"ISEN/Traitement du signal/CIPA4/TP/TP4/DS2425cipa9.wav",
"ISEN/Traitement du signal/CIPA4/TP/TP4/DS2425cipa8.wav",
"ISEN/Réseau/CIPA4/TP/TP M02 Conversion.md",
"Protocol Data Units (PDU).md",
"ISEN/English/CIPA4/Elevator pitch.md",

View File

@@ -56,7 +56,7 @@ title('Single-sided amplitude spectrum of y(t)');
grid on;
xlim([0 Fs/2]);
% Choose cutoff frequency for baseband, e.g. 5 kHz (adapt after seeing spectrum)
% Choose cutoff frequency for baseband, e.g. 5 kHz
Fc = 5000; % cutoff in Hz
wc = 2*pi*Fc/Fs; % digital radian cutoff

View File

@@ -0,0 +1,55 @@
%% Experiment 2 : Baseband recovery from TP4cipaQ2.wav
clc;
clear;
close all;
%% Load the audio
[y, Fs] = audioread('TP4cipaQ2.wav');
if size(y,2) > 1
y = mean(y,2); %
end
N = length(y);
%% i) Spectre d'amplitude en kHz
Y = fft(y);
magY = abs(Y);
halfN = floor(N/2)+1;
magY_half = magY(1:halfN);
f = (0:halfN-1)*(Fs/N); % Hz
f_kHz = f/1000; % kHz
figure;
plot(f_kHz, magY_half,'g');
xlabel('Frequence (kHz)');
ylabel('|Y(f)|');
title('Spectre amplitude du signal TP4cipaQ2');
grid on;
xlim([0 Fs/2000]);
%% Filtre passe-bas Butterworth pour recuperer la bande de base
% Choisir une frequence de coupure Fc (en Hz) apres avoir regarde le spectre.
Fc = 3000; % exemple : 3 kHz (a adapter si besoin)
Wn = Fc/(Fs/2); % normalisation par Fs/2 [web:237]
ordre = 4; % ordre du filtre (simple mais efficace)
[b,a] = butter(ordre, Wn, 'low'); % filtre passe-bas Butterworth
y_filt = filter(b,a,y); % signal filtre
%% ii) Spectre du signal filtre
Yf = fft(y_filt);
magYf = abs(Yf);
magYf_half = magYf(1:halfN);
figure;
plot(f_kHz, magYf_half,'g');
xlabel('Frequence (kHz)');
ylabel('|Y_f(f)|');
title('Spectre amplitude du signal filtre');
grid on;
xlim([0 Fs/2000]);
%% iii) Ecouter le signal filtre (a lancer dans MATLAB)
% sound(y_filt, Fs);

View File

@@ -0,0 +1,54 @@
%% Experiment 2 : Baseband recovery from TP4cipaQ2.wav
clc;
clear;
close all;
%% Load the audio
[y, Fs] = audioread('TP4cipaQ2.wav');
if size(y,2) > 1
y = mean(y,2); % Switch to mono
end
N = length(y);
%% i) Spectre of amplitude in kHz
Y = fft(y);
magY = abs(Y);
halfN = floor(N/2)+1;
magY_half = magY(1:halfN);
f = (0:halfN-1)*(Fs/N); % Hz
f_kHz = f/1000; % kHz
figure;
plot(f_kHz, magY_half,'g');
xlabel('Frequence (kHz)');
ylabel('|Y(f)|');
title('Spectre amplitude du signal TP4cipaQ2');
grid on;
xlim([0 Fs/2000]);
%% Butterworth filter
Fc = 3000;
Wn = Fc/(Fs/2);
ordre = 4;
[b,a] = butter(ordre, Wn, 'low');
y_filt = filter(b,a,y);
%% ii) Spectre of filtered signal
Yf = fft(y_filt);
magYf = abs(Yf);
magYf_half = magYf(1:halfN);
figure;
plot(f_kHz, magYf_half,'g');
xlabel('Frequence (kHz)');
ylabel('|Y_f(f)|');
title('Spectre amplitude du signal filtre');
grid on;
xlim([0 Fs/2000]);
sound(y_filt, Fs);