mirror of
https://github.com/BreizhHardware/cours-ISEN-MD.git
synced 2026-01-18 16:47:24 +01:00
Obisidian vault auto-backup: 07-01-2026 13:51:56 on . 5 files edited
This commit is contained in:
14
.obsidian/workspace.json
vendored
14
.obsidian/workspace.json
vendored
@@ -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",
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
55
ISEN/Traitement du signal/CIPA4/TP/TP4/TP4_Experience2.asv
Normal file
55
ISEN/Traitement du signal/CIPA4/TP/TP4/TP4_Experience2.asv
Normal 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);
|
||||
54
ISEN/Traitement du signal/CIPA4/TP/TP4/TP4_Experience2.m
Normal file
54
ISEN/Traitement du signal/CIPA4/TP/TP4/TP4_Experience2.m
Normal 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);
|
||||
Binary file not shown.
Reference in New Issue
Block a user