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 14:12:07 on . 5 files edited
This commit is contained in:
0
.obsidian/plugins/obsidian-git/obsidian_askpass.sh
vendored
Normal file → Executable file
0
.obsidian/plugins/obsidian-git/obsidian_askpass.sh
vendored
Normal file → Executable file
61
.obsidian/workspace.json
vendored
61
.obsidian/workspace.json
vendored
@@ -4,16 +4,16 @@
|
||||
"type": "split",
|
||||
"children": [
|
||||
{
|
||||
"id": "6077b69c4a14352c",
|
||||
"id": "a0965a7be66d6773",
|
||||
"type": "tabs",
|
||||
"children": [
|
||||
{
|
||||
"id": "f8adac6650611d50",
|
||||
"id": "e11a6a080eb83632",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "markdown",
|
||||
"state": {
|
||||
"file": "ISEN/English/CIPA4/24 oct 2025.md",
|
||||
"file": "ISEN/Réunion/CIPA 4/Réunion 8 janv 2026.md",
|
||||
"mode": "source",
|
||||
"source": false,
|
||||
"backlinks": true,
|
||||
@@ -28,19 +28,31 @@
|
||||
}
|
||||
},
|
||||
"icon": "lucide-file",
|
||||
"title": "24 oct 2025"
|
||||
"title": "Réunion 8 janv 2026"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "8beea5ef99c3c6ed",
|
||||
"id": "962e723708a621ad",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "pdf",
|
||||
"type": "markdown",
|
||||
"state": {
|
||||
"file": "ISEN/Réseau/CIPA4/TP/Module 5/M05 TP 01 - Les commandes.pdf"
|
||||
"file": "conflict-files-obsidian-git.md",
|
||||
"mode": "source",
|
||||
"source": false,
|
||||
"backlinks": true,
|
||||
"backlinkOpts": {
|
||||
"collapseAll": false,
|
||||
"extraContext": false,
|
||||
"sortOrder": "alphabetical",
|
||||
"showSearch": false,
|
||||
"searchQuery": "",
|
||||
"backlinkCollapsed": false,
|
||||
"unlinkedCollapsed": true
|
||||
}
|
||||
},
|
||||
"icon": "lucide-file-text",
|
||||
"title": "M05 TP 01 - Les commandes"
|
||||
"icon": "lucide-file",
|
||||
"title": "conflict-files-obsidian-git"
|
||||
}
|
||||
}
|
||||
],
|
||||
@@ -217,23 +229,25 @@
|
||||
"obsidian-git:Open Git source control": false
|
||||
}
|
||||
},
|
||||
"active": "8beea5ef99c3c6ed",
|
||||
"active": "962e723708a621ad",
|
||||
"lastOpenFiles": [
|
||||
"ISEN/Traitement du signal/CIPA4/TP/TP4/TP4cipa_MARQUET.pdf",
|
||||
"ISEN/Traitement du signal/CIPA4/TP/TP4/~WRL3604.tmp",
|
||||
"ISEN/Traitement du signal/CIPA4/TP/TP4/~WRD3600.tmp",
|
||||
"ISEN/Traitement du signal/CIPA4/TP/TP4/~WRL2177.tmp",
|
||||
"ISEN/Traitement du signal/CIPA4/TP/TP4/~WRD2173.tmp",
|
||||
"ISEN/Traitement du signal/CIPA4/TP/TP4/~WRL0125.tmp",
|
||||
"ISEN/Traitement du signal/CIPA4/TP/TP4/~WRD0121.tmp",
|
||||
"ISEN/Traitement du signal/CIPA4/TP/TP4/~WRL3834.tmp",
|
||||
"ISEN/Traitement du signal/CIPA4/TP/TP4/~WRD3830.tmp",
|
||||
"ISEN/Traitement du signal/CIPA4/TP/TP4/~WRL2846.tmp",
|
||||
"ISEN/Traitement du signal/CIPA4/TP/TP4/~WRD2842.tmp",
|
||||
"ISEN/Réunion/CIPA 4/Réunion 8 janv 2026.md",
|
||||
"conflict-files-obsidian-git.md",
|
||||
"ISEN/Traitement du signal/CIPA4/TP/TP5/~$5_Marquet.doc",
|
||||
"ISEN/Traitement du signal/CIPA4/TP/TP5/TP5_Marquet.doc",
|
||||
"ISEN/Traitement du signal/CIPA4/TP/TP5/TP5remplir.doc",
|
||||
"ISEN/Traitement du signal/CIPA4/TP/TP5/Q2noiz810KA.wav",
|
||||
"ISEN/Traitement du signal/CIPA4/TP/TP5/Q2.wav",
|
||||
"ISEN/Traitement du signal/CIPA4/TP/TP5/holiday_offer.wav",
|
||||
"ISEN/Traitement du signal/CIPA4/TP/TP5/claves.wav",
|
||||
"ISEN/Traitement du signal/CIPA4/TP/TP5",
|
||||
"ISEN/Traitement du signal/CIPA4/TP/dossier sans titre",
|
||||
"ISEN/Réunion/CIPA 4/Untitled.md",
|
||||
"ISEN/Traitement du signal/CIPA4/TP/TP3/E71marquet.wav",
|
||||
"ISEN/English/CIPA4/24 oct 2025.md",
|
||||
"ISEN/Réseau/CIPA4/TP/TP M02 Conversion.md",
|
||||
"Protocol Data Units (PDU).md",
|
||||
"ISEN/English/CIPA4/Elevator pitch.md",
|
||||
"ISEN/English/CIPA4/24 oct 2025.md",
|
||||
"ISEN/English/CIPA4/29 sept 2025.md",
|
||||
"ISEN/BDD/CIPA4/BDD Cours 1.md",
|
||||
"ISEN/ELA/TP/Compte rendu TP Amplificateur Opérationnel et Contre-Réaction.md",
|
||||
@@ -252,9 +266,6 @@
|
||||
"ISEN/FHS/A1/Démocratie/Démocracie cours 7.md",
|
||||
"ISEN/BDD/CIPA4/modelisation-cas-immo.md",
|
||||
"ISEN/BDD/CIPA4/Cas modélisation alternatifs.md",
|
||||
"ISEN/BDD/CIPA4/BDD Cours 2.md",
|
||||
"ISEN/FHS/CIPA4/Anthropologie de l'entreprise/Mythe Horoquartz.md",
|
||||
"ISEN/FHS/CIPA4/Anthropologie de l'entreprise/Anthropologie de l'entreprise Cours 1.md",
|
||||
"Pasted image 20251009192656.png",
|
||||
"src/Pasted image 20240130111505.png",
|
||||
"src/Pasted image 20240123120819.png",
|
||||
|
||||
14
ISEN/Réunion/CIPA 4/Réunion 8 janv 2026.md
Normal file
14
ISEN/Réunion/CIPA 4/Réunion 8 janv 2026.md
Normal file
@@ -0,0 +1,14 @@
|
||||
## En vrac
|
||||
Nouveau responsable de promo: Brahim JAWAD
|
||||
|
||||
Cours de WEB en distanciel MAIS depuis l'ISEN
|
||||
|
||||
Les DP a distances on sait pas si a la maison ou pas ?
|
||||
|
||||
## DP à la carte
|
||||
|
||||
Bloc 1 et 2 en présentiel
|
||||
|
||||
Bloc 3 STM32 et prototipage d'espace en présentiel
|
||||
|
||||
Planing spécial d'émargement pour les DP
|
||||
BIN
ISEN/Traitement du signal/CIPA4/TP/TP5/Q1marquetfelix.wav
Normal file
BIN
ISEN/Traitement du signal/CIPA4/TP/TP5/Q1marquetfelix.wav
Normal file
Binary file not shown.
BIN
ISEN/Traitement du signal/CIPA4/TP/TP5/Q2.wav
Normal file
BIN
ISEN/Traitement du signal/CIPA4/TP/TP5/Q2.wav
Normal file
Binary file not shown.
BIN
ISEN/Traitement du signal/CIPA4/TP/TP5/Q2noiz810KA.wav
Normal file
BIN
ISEN/Traitement du signal/CIPA4/TP/TP5/Q2noiz810KA.wav
Normal file
Binary file not shown.
51
ISEN/Traitement du signal/CIPA4/TP/TP5/TP5Experience1.m
Normal file
51
ISEN/Traitement du signal/CIPA4/TP/TP5/TP5Experience1.m
Normal file
@@ -0,0 +1,51 @@
|
||||
%% Experience 1 : Concatenate three audio files into one
|
||||
|
||||
clc;
|
||||
clear;
|
||||
close all;
|
||||
|
||||
%% Load audio data (Q2, holiday_offer, CLAVES)
|
||||
|
||||
[y1, Fs1] = audioread('Q2.wav');
|
||||
[y2, Fs2] = audioread('holiday_offer.wav');
|
||||
[y3, Fs3] = audioread('CLAVES.wav');
|
||||
|
||||
% Play sound (debug)
|
||||
%sound(y1, Fs1); % Play the first audio file
|
||||
%pause(length(y1)/Fs1); % Wait until the first audio finishes
|
||||
%sound(y2, Fs2); % Play the second audio file
|
||||
%pause(length(y2)/Fs2); % Wait until the second audio finishes
|
||||
%sound(y3, Fs3); % Play the third audio file
|
||||
%pause(length(y3)/Fs3); % Wait until the third audio finishes
|
||||
|
||||
%% Force all signals to mono and to the same sampling rate 44100 Hz (CD quality)
|
||||
|
||||
Fs_target = 44100; % desired sampling frequency
|
||||
|
||||
% Convert to mono
|
||||
if size(y1,2) > 1, y1 = mean(y1,2); end
|
||||
if size(y2,2) > 1, y2 = mean(y2,2); end
|
||||
if size(y3,2) > 1, y3 = mean(y3,2); end
|
||||
|
||||
% If needed, resample to 44100 Hz
|
||||
if Fs1 ~= Fs_target
|
||||
y1 = resample(y1, Fs_target, Fs1);
|
||||
end
|
||||
if Fs2 ~= Fs_target
|
||||
y2 = resample(y2, Fs_target, Fs2);
|
||||
end
|
||||
if Fs3 ~= Fs_target
|
||||
y3 = resample(y3, Fs_target, Fs3);
|
||||
end
|
||||
|
||||
%% Concatenate the three sounds
|
||||
|
||||
y_all = [y1; y2; y3];
|
||||
|
||||
%% Save combined sound
|
||||
|
||||
audiowrite('Q1marquetfelix.wav', y_all, Fs_target);
|
||||
|
||||
%% Play the combined sound
|
||||
|
||||
sound(y_all, Fs_target);
|
||||
63
ISEN/Traitement du signal/CIPA4/TP/TP5/TP5Experience2.m
Normal file
63
ISEN/Traitement du signal/CIPA4/TP/TP5/TP5Experience2.m
Normal file
@@ -0,0 +1,63 @@
|
||||
%% Experience 2 : Remove high-frequency jamming from Q2noiz810KA
|
||||
|
||||
clc;
|
||||
clear;
|
||||
close all;
|
||||
|
||||
%% 1) Load audio file with audioread
|
||||
|
||||
[x, fs] = audioread('Q2noiz810KA.wav');
|
||||
|
||||
% Convert to mono if stereo
|
||||
if size(x,2) > 1
|
||||
x = mean(x,2);
|
||||
end
|
||||
|
||||
N = length(x);
|
||||
|
||||
%% 2) Listen to the noisy signal
|
||||
|
||||
soundsc(x, fs); % Not working on my computer
|
||||
|
||||
%% 3) Visualize the spectrum of x and locate the jamming
|
||||
|
||||
X = fft(x);
|
||||
magX = abs(X);
|
||||
|
||||
halfN = floor(N/2) + 1;
|
||||
magX_half = magX(1:halfN);
|
||||
f = (0:halfN-1) * (fs/N); % frequency axis in Hz
|
||||
|
||||
figure('Name','Spectrum of x (noisy signal)');
|
||||
plot(f/1000, magX_half, 'g'); % in kHz
|
||||
xlabel('Frequency (kHz)');
|
||||
ylabel('|X(f)|');
|
||||
title('Single-sided amplitude spectrum of x');
|
||||
grid on;
|
||||
xlim([0 fs/2000]);
|
||||
|
||||
%% 4) Find the jamming frequency and filter
|
||||
|
||||
fjam = 4000;
|
||||
ordre = 6;
|
||||
[b, a] = butter(ordre, fjam/(fs/2), 'low');
|
||||
y = filter(b, a, x);
|
||||
|
||||
%% 5) Listen to the filtered signal
|
||||
|
||||
soundsc(y, fs); % Not working on my computer
|
||||
%audiowrite('test.wav', y, fs); % To avoid using soundsc
|
||||
|
||||
%% 6) Plot spectrum of y
|
||||
|
||||
Y = fft(y);
|
||||
magY = abs(Y);
|
||||
magY_half = magY(1:halfN);
|
||||
|
||||
figure('Name','Spectrum of y (filtered signal)');
|
||||
plot(f/1000, magY_half, 'g'); % in kHz
|
||||
xlabel('Frequency (kHz)');
|
||||
ylabel('|Y(f)|');
|
||||
title('Single-sided amplitude spectrum of filtered signal y');
|
||||
grid on;
|
||||
xlim([0 fs/2000]);
|
||||
53
ISEN/Traitement du signal/CIPA4/TP/TP5/TP5Experience3.m
Normal file
53
ISEN/Traitement du signal/CIPA4/TP/TP5/TP5Experience3.m
Normal file
@@ -0,0 +1,53 @@
|
||||
%% Experiment 3 : Root-raised cosine (RRC) filter (subject 1)
|
||||
|
||||
clc;
|
||||
clear;
|
||||
close all;
|
||||
|
||||
%% Parameters
|
||||
|
||||
T = 2e-3; % Symbol period (2 ms)
|
||||
al = 0.1; % Roll-off factor alpha (subject 1)
|
||||
Te = 0.13 * T; % Sampling period (s)
|
||||
Fs = 1 / Te; % Sampling frequency (Hz)
|
||||
|
||||
t = -10*T : Te : 10*T; % Time vector from -10T to +10T
|
||||
|
||||
%% Impulse response h(t) using the given formula
|
||||
|
||||
num = sin(pi*t/T * (1 - al)) + (4*al*t/T) .* cos(pi*t/T * (1 + al));
|
||||
den = (pi*t/T) .* (1 - (4*al*t/T).^2);
|
||||
|
||||
h = (al / sqrt(T)) * (num ./ den);
|
||||
|
||||
% Handle singularity at t = 0 using theoretical limit
|
||||
h(t == 0) = (1/sqrt(T)) * (1 - al + 4*al/pi);
|
||||
|
||||
%% 1) Time-domain visualization of h(t)
|
||||
|
||||
figure('Name','Impulse response h(t)');
|
||||
plot(t, h, 'g', 'LineWidth', 1.2);
|
||||
grid on;
|
||||
xlabel('Time (s)');
|
||||
ylabel('h(t)');
|
||||
title('Impulse response h(t) for root-raised cosine filter');
|
||||
% You can zoom on [-0.01 0.01] to better see the main lobe if needed
|
||||
|
||||
%% 2) Amplitude spectrum of h(t)
|
||||
|
||||
NFFT = 2^12; % FFT length
|
||||
H_freq = abs(fftshift(fft(h, NFFT))); % Magnitude spectrum (centered)
|
||||
f = linspace(-Fs/2, Fs/2, NFFT); % Frequency axis (Hz)
|
||||
|
||||
figure('Name','Amplitude spectrum of h(t)');
|
||||
plot(f, H_freq / max(H_freq), 'g', 'LineWidth', 1.2);
|
||||
grid on;
|
||||
xlabel('Frequency (Hz)');
|
||||
ylabel('Normalized magnitude');
|
||||
title('Normalized amplitude spectrum of h(t)');
|
||||
|
||||
%% Theoretical maximum frequency of the RRC filter
|
||||
|
||||
f_max_theoretical = (1 + al) / (2 * T); % Hz
|
||||
fprintf('Theoretical maximum frequency : %.2f Hz (%.3f kHz)\n', ...
|
||||
f_max_theoretical, f_max_theoretical/1000);
|
||||
52
ISEN/Traitement du signal/CIPA4/TP/TP5/TP5Experience3_4.m
Normal file
52
ISEN/Traitement du signal/CIPA4/TP/TP5/TP5Experience3_4.m
Normal file
@@ -0,0 +1,52 @@
|
||||
%% Experiment 3 : Root-raised cosine (RRC) filter (subject 1)
|
||||
|
||||
clc;
|
||||
clear;
|
||||
close all;
|
||||
|
||||
%% Parameters
|
||||
|
||||
T = 2e-3; % Symbol period (2 ms)
|
||||
al = 0.1; % Roll-off factor alpha (subject 1)
|
||||
Te = 1.4e-3; % Sampling period (s) (near 1.6ms)
|
||||
Fs = 1 / Te; % Sampling frequency (Hz)
|
||||
|
||||
t = -10*T : Te : 10*T; % Time vector from -10T to +10T
|
||||
|
||||
%% Impulse response h(t) using the given formula
|
||||
|
||||
num = sin(pi*t/T * (1 - al)) + (4*al*t/T) .* cos(pi*t/T * (1 + al));
|
||||
den = (pi*t/T) .* (1 - (4*al*t/T).^2);
|
||||
|
||||
h = (al / sqrt(T)) * (num ./ den);
|
||||
|
||||
% Handle singularity at t = 0 using theoretical limit
|
||||
h(t == 0) = (1/sqrt(T)) * (1 - al + 4*al/pi);
|
||||
|
||||
%% 1) Time-domain visualization of h(t)
|
||||
|
||||
figure('Name','Impulse response h(t)');
|
||||
plot(t, h, 'g', 'LineWidth', 1.2);
|
||||
grid on;
|
||||
xlabel('Time (s)');
|
||||
ylabel('h(t)');
|
||||
title('Impulse response h(t) for root-raised cosine filter');
|
||||
|
||||
%% 2) Amplitude spectrum of h(t)
|
||||
|
||||
NFFT = 2^12; % FFT length
|
||||
H_freq = abs(fftshift(fft(h, NFFT))); % Magnitude spectrum (centered)
|
||||
f = linspace(-Fs/2, Fs/2, NFFT); % Frequency axis (Hz)
|
||||
|
||||
figure('Name','Amplitude spectrum of h(t)');
|
||||
plot(f, H_freq / max(H_freq), 'g', 'LineWidth', 1.2);
|
||||
grid on;
|
||||
xlabel('Frequency (Hz)');
|
||||
ylabel('Normalized magnitude');
|
||||
title('Normalized amplitude spectrum of h(t)');
|
||||
|
||||
%% Theoretical maximum frequency of the RRC filter
|
||||
|
||||
f_max_theoretical = (1 + al) / (2 * T); % Hz
|
||||
fprintf('Theoretical maximum frequency : %.2f Hz (%.3f kHz)\n', ...
|
||||
f_max_theoretical, f_max_theoretical/1000);
|
||||
61
ISEN/Traitement du signal/CIPA4/TP/TP5/TP5Experience4.m
Normal file
61
ISEN/Traitement du signal/CIPA4/TP/TP5/TP5Experience4.m
Normal file
@@ -0,0 +1,61 @@
|
||||
%% Experiment 4 : Sampling and filtering (subject 1)
|
||||
|
||||
clc;
|
||||
clear;
|
||||
close all;
|
||||
|
||||
%% 1) Sampling parameters
|
||||
|
||||
Fe = 1000; % Sampling frequency (Hz) for subject 1
|
||||
Te = 1 / Fe; % Sampling period (s)
|
||||
t = (0:6400) * Te; % Observation window (0 to 6400 samples -> 6.4 s)
|
||||
|
||||
%% 2) Generate x(t)
|
||||
% x(t) = sin(2000 t^2) + sin(2000 t)^2/100 + sin(2000 t)/100
|
||||
% + cos(124000 t + pi/2) + sin(124000 t)
|
||||
|
||||
x = sin(2000*t.^2) ...
|
||||
+ (sin(2000*t).^2)/100 ...
|
||||
+ sin(2000*t)/100 ...
|
||||
+ cos(124000*t + pi/2) ...
|
||||
+ sin(124000*t);
|
||||
|
||||
%% 3) Amplitude spectrum of x(t) (0..Fe, axis in kHz)
|
||||
|
||||
N = length(x);
|
||||
Xfft = abs(fft(x)) / N; % linear magnitude spectrum
|
||||
f_Hz = (0:N-1) * (Fe/N); % frequency axis from 0 to Fe (Hz)
|
||||
f_kHz = f_Hz / 1000; % in kHz
|
||||
|
||||
figure('Name','Amplitude spectrum of x(t)');
|
||||
plot(f_kHz, Xfft, 'g');
|
||||
title('Amplitude spectrum of x(t) (0 to Fe)');
|
||||
xlabel('Frequency (kHz)');
|
||||
ylabel('Magnitude');
|
||||
xlim([0 Fe/1000]); % 0 .. Fe in kHz
|
||||
grid on;
|
||||
|
||||
%% 4) 8th-order Butterworth low-pass filter (cutoff adapted)
|
||||
|
||||
% In the original statement Fe = 5 kHz with Fc = 800 Hz.
|
||||
% Here Fe is 5 times smaller, so we scale the cutoff: Fc = 800/5 = 160 Hz.
|
||||
Fc = 160; % cutoff frequency (Hz)
|
||||
order = 8; % filter order
|
||||
Wn = Fc / (Fe/2); % normalized cutoff (0..1)
|
||||
|
||||
[b, a] = butter(order, Wn, 'low'); % Butterworth low-pass filter
|
||||
|
||||
%% 5) Filter the signal to obtain y(t)
|
||||
|
||||
y = filter(b, a, x);
|
||||
|
||||
%% 6) Amplitude spectrum of filtered signal y(t)
|
||||
|
||||
Yfft = abs(fft(y)) / N;
|
||||
figure('Name','Amplitude spectrum of filtered signal y(t)');
|
||||
plot(f_kHz, Yfft, 'g', 'LineWidth', 1.2);
|
||||
title(['Amplitude spectrum of filtered y(t) (cutoff ', num2str(Fc), ' Hz)']);
|
||||
xlabel('Frequency (kHz)');
|
||||
ylabel('Magnitude');
|
||||
xlim([0 Fe/1000]);
|
||||
grid on;
|
||||
BIN
ISEN/Traitement du signal/CIPA4/TP/TP5/TP5_Marquet.doc
Normal file
BIN
ISEN/Traitement du signal/CIPA4/TP/TP5/TP5_Marquet.doc
Normal file
Binary file not shown.
BIN
ISEN/Traitement du signal/CIPA4/TP/TP5/TP5_Marquet.pdf
Normal file
BIN
ISEN/Traitement du signal/CIPA4/TP/TP5/TP5_Marquet.pdf
Normal file
Binary file not shown.
BIN
ISEN/Traitement du signal/CIPA4/TP/TP5/claves.wav
Normal file
BIN
ISEN/Traitement du signal/CIPA4/TP/TP5/claves.wav
Normal file
Binary file not shown.
BIN
ISEN/Traitement du signal/CIPA4/TP/TP5/holiday_offer.wav
Normal file
BIN
ISEN/Traitement du signal/CIPA4/TP/TP5/holiday_offer.wav
Normal file
Binary file not shown.
BIN
ISEN/Traitement du signal/CIPA4/TP/TP5/test.wav
Normal file
BIN
ISEN/Traitement du signal/CIPA4/TP/TP5/test.wav
Normal file
Binary file not shown.
17
conflict-files-obsidian-git.md
Normal file
17
conflict-files-obsidian-git.md
Normal file
@@ -0,0 +1,17 @@
|
||||
# Conflicts
|
||||
Please resolve them and commit them using the commands `Git: Commit all changes` followed by `Git: Push`
|
||||
(This file will automatically be deleted before commit)
|
||||
[[#Additional Instructions]] available below file list
|
||||
|
||||
- Not a file: .obsidian/workspace.json
|
||||
|
||||
# Additional Instructions
|
||||
I strongly recommend to use "Source mode" for viewing the conflicted files. For simple conflicts, in each file listed above replace every occurrence of the following text blocks with the desired text.
|
||||
|
||||
```diff
|
||||
<<<<<<< HEAD
|
||||
File changes in local repository
|
||||
=======
|
||||
File changes in remote repository
|
||||
>>>>>>> origin/main
|
||||
```
|
||||
Reference in New Issue
Block a user