El processament de senyals és una àrea fonamental en moltes aplicacions d'enginyeria i ciència, incloent telecomunicacions, àudio, vídeo, i sistemes de control. MATLAB és una eina poderosa per al processament de senyals gràcies a les seves capacitats de càlcul numèric i les seves funcions especialitzades.

Objectius del Tema

  • Introduir els conceptes bàsics del processament de senyals.
  • Aprendre a carregar, visualitzar i analitzar senyals en MATLAB.
  • Aplicar tècniques bàsiques de filtratge i transformació de senyals.
  • Realitzar anàlisi en el domini de la freqüència utilitzant la Transformada de Fourier.

Contingut

  1. Introducció al Processament de Senyals

El processament de senyals implica la manipulació de senyals per extreure informació útil, millorar la qualitat del senyal, o preparar-lo per a una anàlisi posterior. Els senyals poden ser de diferents tipus, com ara senyals d'àudio, senyals de vídeo, senyals biomèdics, etc.

  1. Carregant i Visualitzant Senyals

MATLAB proporciona diverses funcions per carregar i visualitzar senyals. A continuació es mostra com carregar un senyal d'àudio i visualitzar-lo.

Exemple: Carregar i Visualitzar un Senyal d'Àudio

% Carregar un fitxer d'àudio
[senyal, fs] = audioread('exemple_audio.wav');

% Visualitzar el senyal en el domini del temps
t = (0:length(senyal)-1)/fs;
plot(t, senyal);
xlabel('Temps (s)');
ylabel('Amplitud');
title('Senyal d''Àudio');

Explicació:

  • audioread carrega un fitxer d'àudio i retorna el senyal i la seva freqüència de mostreig (fs).
  • plot es fa servir per visualitzar el senyal en el domini del temps.

  1. Filtratge de Senyals

El filtratge és una tècnica essencial en el processament de senyals per eliminar soroll o extreure components específics del senyal.

Exemple: Filtratge Pas-Baix

% Dissenyar un filtre pas-baix
fc = 1000; % Freqüència de tall en Hz
[b, a] = butter(6, fc/(fs/2)); % Filtre Butterworth de 6è ordre

% Aplicar el filtre al senyal
senyal_filtrat = filter(b, a, senyal);

% Visualitzar el senyal filtrat
plot(t, senyal_filtrat);
xlabel('Temps (s)');
ylabel('Amplitud');
title('Senyal Filtrat (Pas-Baix)');

Explicació:

  • butter dissenya un filtre Butterworth de 6è ordre amb una freqüència de tall de 1000 Hz.
  • filter aplica el filtre al senyal.

  1. Transformada de Fourier

La Transformada de Fourier (FFT) és una eina poderosa per analitzar senyals en el domini de la freqüència.

Exemple: Anàlisi de Freqüència amb FFT

% Calcular la FFT del senyal
N = length(senyal);
Y = fft(senyal);
f = (0:N-1)*(fs/N); % Vector de freqüències

% Visualitzar l'espectre de freqüència
plot(f, abs(Y));
xlabel('Freqüència (Hz)');
ylabel('Magnitud');
title('Espectre de Freqüència del Senyal');

Explicació:

  • fft calcula la Transformada de Fourier del senyal.
  • abs es fa servir per obtenir la magnitud de la FFT.
  • plot visualitza l'espectre de freqüència.

  1. Exercicis Pràctics

Exercici 1: Carregar i Visualitzar un Senyal

Carrega un fitxer d'àudio diferent i visualitza el senyal en el domini del temps.

Exercici 2: Aplicar un Filtre Pas-Alt

Dissenya i aplica un filtre pas-alt a un senyal d'àudio. Visualitza el senyal filtrat.

Exercici 3: Anàlisi de Freqüència

Calcula i visualitza l'espectre de freqüència d'un senyal d'àudio diferent utilitzant la FFT.

Solucions dels Exercicis

Solució 1: Carregar i Visualitzar un Senyal

[senyal, fs] = audioread('altre_audio.wav');
t = (0:length(senyal)-1)/fs;
plot(t, senyal);
xlabel('Temps (s)');
ylabel('Amplitud');
title('Senyal d''Àudio');

Solució 2: Aplicar un Filtre Pas-Alt

fc = 1000; % Freqüència de tall en Hz
[b, a] = butter(6, fc/(fs/2), 'high'); % Filtre Butterworth de 6è ordre, pas-alt
senyal_filtrat = filter(b, a, senyal);
plot(t, senyal_filtrat);
xlabel('Temps (s)');
ylabel('Amplitud');
title('Senyal Filtrat (Pas-Alt)');

Solució 3: Anàlisi de Freqüència

N = length(senyal);
Y = fft(senyal);
f = (0:N-1)*(fs/N);
plot(f, abs(Y));
xlabel('Freqüència (Hz)');
ylabel('Magnitud');
title('Espectre de Freqüència del Senyal');

Conclusió

En aquesta secció, hem après els conceptes bàsics del processament de senyals en MATLAB, incloent la càrrega i visualització de senyals, el filtratge, i l'anàlisi de freqüència amb la Transformada de Fourier. Aquestes tècniques són fonamentals per a moltes aplicacions pràctiques en enginyeria i ciència. En el següent tema, explorarem el processament d'imatges en MATLAB.

© Copyright 2024. Tots els drets reservats