Bonjour,
J'aimerais connaitre votre avis sur cet algorithme de sous-échantillonnage.
C'est assez basique je découpe la représentation de fourrier pour supprimer les fréquences au dessus de ma nouvelle limite de Nyqvist.
J'ai fait plusieurs essais et l'algo se comporte bien (pas d'aliasing il me semble), mais je n'en suis pas sur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 % Entrée % X - (n x m) matrice de n signaux de longueur m % ratio - fréquence en entrée/ fréquence en sortie % si ratio<1, sous-échantillonage % Sortie: % Y - (n x [alpha*m]) matrice de n signaux sous-échantillonnés N0 = size(X,2); N = floor(N0*alpha); alpha = N/N0; Y = fftshift(fft(X,[],2),2); sy = size(Y,2); middle = floor(sy./2)+1; if ratio<=1 % downsample N2 = floor(N./2); Y = Y(:,middle-N2:middle+N2); end Y = ratio*ifft(ifftshift(Y,2),[],2);
Plus précisément, j'aimerais le comparer à la fonction resample() de Matlab, que j'imagine meilleure, mais sans savoir pourquoi. Mon problème avec resample() c'est qu'elle utilise un filtre antialiasing pas assez strict, ce qui peut causer un repliement du spectre autour de la fréquence de Nyqvist.
Partager