Catégories
Algorithme Matlab Traitement du signal sur matlab

Matlab #17: Exemples du produit de convolution – Fonctions spéciales

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_n=conv(s_n,H,'same');
  • 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_n1=filter(H,1,s_n);
  • 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

Laisser un commentaire