Objectifs
- Savoir utiliser la fonction conv() et filter()
- Savoir déphaser un signal ou une fonction quelconque
- Savoir dérivée une fonction mathématique
- Savoir utiliser l’impulsion de Dirac en pratique
Voir la vidéo pour plus des détails
Exemples d’Applications
- Exemple 1 : Déphaseur du signal par convolution en utilisant ‘impulsion de Dirac
- Exemple 2 : Approximation de la dérivée premier par convolution
- Exemple 3 : Approximation de la dérivée seconde par convolution
Programme Matlab
Fonction conv()
- y_s: signal convolué (1D)
- H: le filtre de taille 1xn (1D)
- s_n: le signal d’entrée (1D), le signal à filtré
- ‘same’: la taille du signal de l’entrée doit identique égale à celle de la sortie
Fonction filter()
- y_s: signal convolué (1D)
- H: le filtre de taille 1xn (1D)
- s_n: le signal d’entrée (1D), le signal à filtré
Le programme principal
clear all; close all; clc
%% Matlab #17: Les Fonctions de Calcul du Produit de Convolution 1D
%% www.Electronique-Mixte.fr
% Exemple 1: Déphaseur d'un signal
% Exemple 2: Dérivée 1ère
% Exemple 3: Dérivée 2nd
%% Signal bruité
% Signal
f0=1; t0=1/f0; N=1e4; n=3;
t=linspace(0,n*t0,N);
A=1; s_n=A*sin(2*pi*f0*t);
% sine => Carré
s_b=A*sign(s_n);
%% Le Produit de Convolution 1D
% Filtre 1D: Taille 2*p+1 de préférence
H=[0 0 0 1 0 0 0]; % Delta( t)
H=[1 1 1]/3; % Moyenneur de taille 3
H=[1 -1]; % Dérivée 1ère
H=[1 -2 1]; % Déviée 2nde
% Calcul du produit de convolution
y_n=conv(s_b,H,'same');
y_n1=filter(H,1,s_b);
%% Affichage
figure(1);
subplot(211);
plot(t,s_n,'linewidth',2);grid on;
legend({'Original'},'fontsize',16);
subplot(212);
%plot(t,s_b,'k', 'linewidth',2);grid on;hold on;
plot(t,y_n,'r','linewidth',2); hold on;
%plot(t,y_n1,'linewidth',2);grid on;
%legend({'Filtré CONV', 'Filtré FILTER'},'fontsize',16);
%legend({'Original','Filtré CONV', 'Filtré FILTER'},'fontsize',16);
Accueil Matlab