Dans MATLAB, je calcule fréquemment des spectres de puissance à l'aide de la méthode de Welch ( Qu'est-ce qu'un système efficace de rééchantillonner (Rebin) le spectre, de linéairement fréquences espacées pour enregistrer des fréquences espacées? strong> ou, quel est un moyen d'inclure des spectres haute résolution dans des fichiers PDF sans générer des tailles de fichiers excessivement volumineuses? P> La chose évidente à faire est de simplement utiliser pwelch code>), que j'affiche ensuite sur un tracé de journal de journal. Les fréquences estimées par
pwelch code> sont également espacées, mais des points espacés par logarithmique seraient plus appropriés pour la parcelle de journal de journalisation. En particulier, lors de la sauvegarde de l'intrigue dans un fichier PDF, cela se traduit par une énorme taille de fichier en raison de l'excédent de points à haute fréquence.
Interp1 CODE>: P>
df = f(2) - f(1);
intPxx = cumsum(Pxx) * df; % integrate
intPxx2 = interp1(f, intPxx, f2); % interpolate
Pxx2 = diff([0 intPxx2]) ./ diff([0 F]); % difference
3 Réponses :
Je le laisserais faire le travail pour moi et lui donnerais les fréquences du début. Le DOC indique que les Freqs que vous spécifiez seront arrondis à la poubelle DFT la plus proche. Cela ne devrait pas être un problème car vous utilisez les résultats à l'intrigue. Si vous êtes préoccupé par l'exécution, j'essayerais juste et le temps. P>
Si vous voulez vous renverser vous-même, je pense que vous feriez mieux d'écrire votre propre fonction pour effectuer l'intégration sur chacun de vos nouveaux bacs. Si vous voulez vous faciliter votre vie, vous pouvez faire ce qu'ils font et assurez-vous que vos bacs de journalisation partagent les limites de votre linéaire. P>
Le problème avec cette approche est que le nombre de moyennes est défini par la corbeille la plus basse (haute résolution). Nous obtenons moins de points à haute fréquence (à votre guise), mais nous n'obtenons pas l'avantage de plus de moyennes à une fréquence plus élevée.
Solution trouvée: https://dsp.stackexchange.com/a/2098/64 p >
brièvement, une solution à ce problème consiste à effectuer la méthode de Welch avec une longueur de transformation dépendante de fréquence. Le lien ci-dessus consiste à une réponse DSP.se contenant une citation papier et une implémentation de l'échantillon. Un inconvénient de cette technique est que vous ne pouvez pas utiliser la FFT, mais que le nombre de points DFT étant calculés est considérablement réduit, ce n'est pas un problème grave. P>
Si vous souhaitez rééchantillonner une FFT à une fréquence variable (logarithmiquement), le noyau de filtre de lissage ou de passage bas devra être une largeur variable également pour éviter l'aliasing (perte de points d'échantillonnage). Il suffit d'utiliser un noyau d'interpolation de la synchronisation de largeur différent pour chaque point de parcelle (largeur de synchronisation approximativement à la réciproque de la fréquence d'échantillonnage locale). P>