diff --git a/.obsidian/plugins/obsidian-git/obsidian_askpass.sh b/.obsidian/plugins/obsidian-git/obsidian_askpass.sh old mode 100644 new mode 100755 diff --git a/.obsidian/workspace.json b/.obsidian/workspace.json index 58c7744..bd14724 100644 --- a/.obsidian/workspace.json +++ b/.obsidian/workspace.json @@ -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", diff --git a/ISEN/Réunion/CIPA 4/Réunion 8 janv 2026.md b/ISEN/Réunion/CIPA 4/Réunion 8 janv 2026.md new file mode 100644 index 0000000..d6a40ff --- /dev/null +++ b/ISEN/Réunion/CIPA 4/Réunion 8 janv 2026.md @@ -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 \ No newline at end of file diff --git a/ISEN/Traitement du signal/CIPA4/TP/TP5/Q1marquetfelix.wav b/ISEN/Traitement du signal/CIPA4/TP/TP5/Q1marquetfelix.wav new file mode 100644 index 0000000..3dd08e3 Binary files /dev/null and b/ISEN/Traitement du signal/CIPA4/TP/TP5/Q1marquetfelix.wav differ diff --git a/ISEN/Traitement du signal/CIPA4/TP/TP5/Q2.wav b/ISEN/Traitement du signal/CIPA4/TP/TP5/Q2.wav new file mode 100644 index 0000000..767d6a1 Binary files /dev/null and b/ISEN/Traitement du signal/CIPA4/TP/TP5/Q2.wav differ diff --git a/ISEN/Traitement du signal/CIPA4/TP/TP5/Q2noiz810KA.wav b/ISEN/Traitement du signal/CIPA4/TP/TP5/Q2noiz810KA.wav new file mode 100644 index 0000000..0450574 Binary files /dev/null and b/ISEN/Traitement du signal/CIPA4/TP/TP5/Q2noiz810KA.wav differ diff --git a/ISEN/Traitement du signal/CIPA4/TP/TP5/TP5Experience1.m b/ISEN/Traitement du signal/CIPA4/TP/TP5/TP5Experience1.m new file mode 100644 index 0000000..96a6493 --- /dev/null +++ b/ISEN/Traitement du signal/CIPA4/TP/TP5/TP5Experience1.m @@ -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); diff --git a/ISEN/Traitement du signal/CIPA4/TP/TP5/TP5Experience2.m b/ISEN/Traitement du signal/CIPA4/TP/TP5/TP5Experience2.m new file mode 100644 index 0000000..3cb7918 --- /dev/null +++ b/ISEN/Traitement du signal/CIPA4/TP/TP5/TP5Experience2.m @@ -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]); diff --git a/ISEN/Traitement du signal/CIPA4/TP/TP5/TP5Experience3.m b/ISEN/Traitement du signal/CIPA4/TP/TP5/TP5Experience3.m new file mode 100644 index 0000000..047fa3e --- /dev/null +++ b/ISEN/Traitement du signal/CIPA4/TP/TP5/TP5Experience3.m @@ -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); diff --git a/ISEN/Traitement du signal/CIPA4/TP/TP5/TP5Experience3_4.m b/ISEN/Traitement du signal/CIPA4/TP/TP5/TP5Experience3_4.m new file mode 100644 index 0000000..8d0541d --- /dev/null +++ b/ISEN/Traitement du signal/CIPA4/TP/TP5/TP5Experience3_4.m @@ -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); diff --git a/ISEN/Traitement du signal/CIPA4/TP/TP5/TP5Experience4.m b/ISEN/Traitement du signal/CIPA4/TP/TP5/TP5Experience4.m new file mode 100644 index 0000000..9ae728c --- /dev/null +++ b/ISEN/Traitement du signal/CIPA4/TP/TP5/TP5Experience4.m @@ -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; diff --git a/ISEN/Traitement du signal/CIPA4/TP/TP5/TP5_Marquet.doc b/ISEN/Traitement du signal/CIPA4/TP/TP5/TP5_Marquet.doc new file mode 100644 index 0000000..48644ca Binary files /dev/null and b/ISEN/Traitement du signal/CIPA4/TP/TP5/TP5_Marquet.doc differ diff --git a/ISEN/Traitement du signal/CIPA4/TP/TP5/TP5_Marquet.pdf b/ISEN/Traitement du signal/CIPA4/TP/TP5/TP5_Marquet.pdf new file mode 100644 index 0000000..d7ea9b1 Binary files /dev/null and b/ISEN/Traitement du signal/CIPA4/TP/TP5/TP5_Marquet.pdf differ diff --git a/ISEN/Traitement du signal/CIPA4/TP/TP5/claves.wav b/ISEN/Traitement du signal/CIPA4/TP/TP5/claves.wav new file mode 100644 index 0000000..7ee33cd Binary files /dev/null and b/ISEN/Traitement du signal/CIPA4/TP/TP5/claves.wav differ diff --git a/ISEN/Traitement du signal/CIPA4/TP/TP5/holiday_offer.wav b/ISEN/Traitement du signal/CIPA4/TP/TP5/holiday_offer.wav new file mode 100644 index 0000000..6666bfe Binary files /dev/null and b/ISEN/Traitement du signal/CIPA4/TP/TP5/holiday_offer.wav differ diff --git a/ISEN/Traitement du signal/CIPA4/TP/TP5/test.wav b/ISEN/Traitement du signal/CIPA4/TP/TP5/test.wav new file mode 100644 index 0000000..fdc74a9 Binary files /dev/null and b/ISEN/Traitement du signal/CIPA4/TP/TP5/test.wav differ diff --git a/conflict-files-obsidian-git.md b/conflict-files-obsidian-git.md new file mode 100644 index 0000000..d8bbd4f --- /dev/null +++ b/conflict-files-obsidian-git.md @@ -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 +``` \ No newline at end of file