Pages

Affichage des articles dont le libellé est transforme. Afficher tous les articles
Affichage des articles dont le libellé est transforme. Afficher tous les articles

Fourier transformé d'un signal RMN sujet

samedi 1 février 2014




Bonjour,

Je travaille avec les valeurs omega d'un ensemble de 5000 spins, qui se promène entre deux états différents, sur une période dt.
Mon Workspace:
Nspins=5000
Ntimes=4096
dt=2.0000e-4 s
sw_h=5000

J'ai réussi à obtenir le signal en fonction du temps pour un spin, comme il m'est demandé.
Cependant on me demande par la suite d'obtenir le spectre de fréquence avec la transformée de Fourier pour l'ensemble des 5000 spins (que l'ensemble des pics se trouvent sur le même spectre.
Voià le programme que j'ai réalisé pour le début:

>> Omega1988=OmegaArray(1988,:);
>> X=cumsum(Omega1988);
>> Phi=X*dt;
>> S=exp(i*Phi);
>> figure(1)
>> subplot(2,1,1)
>> plot(t,Phi)
>> subplot(2,1,2)
>> plot(t,S)
Warning: Imaginary parts of complex X and/or Y arguments ignored
>> Y=cumsum(OmegaArray,2);
>> Phi2=Y*dt;
>> S2=exp(i*Phi2);
>> figure(2)
>> subplot(3,1,1)
>> plot(t,Phi2)
>> subplot(3,1,2)
>> plot(t,S2)
Warning: Imaginary parts of complex X and/or Y arguments ignored

A la fin de ces étapes je visualise correctement le spectre pour un seul spin, et sur la figure(2) le spectre pour les 5000 spins. Comment par la suite effectuer la transformée de Fourier avec Matlab:
>> nu1=sw_h*t;
>> nu2=nu1-(5000/(2+1));
>> S2=S2*0.5;
>> I2=fft(S2,5000);
>> I2=fftshift(I);
>> figure(3)
>> subplot(2,1,1)
>> plot(nu2,I2)
J'ai réalisé cette programmation mais le résultat est loin d'être satisfaisant. :/

Je vous remercie d'avance pour votre aide.




la transformé de Hilbert sujet




Bonsoir,
Voila depuis des jours et des jours j'essaye d'obtenir la transformé de Hilbert d'un signal chaotique, afin d'avoir deux signaux complétement orthogonaux-> Chotic signal and Hilbert Transform of chaotic signal
sous MATLAB tout marche bien j'ai une bonne transformé de hilbert avec le bon déphasage et tout, en gros c'est le signal auquel je m'attend.
quand j'essaye de le faire sous simulink, j'ai trouvé sur le net deux méthodes:
1. Analytic Signal block and take the imaginary part of the complex output.
2. Remez FIR Filter Design block with the Hilbert Transformer filter type.
Aucune des deux méthodes ne me satisfait, le signal obtenu et tout simplement du n'importe quoi et pas du tout orthogonal au signal d'origine.
j'ai donc essayer d'y remédier en intégrant un matlab function à mon diagram block, j'y ai écrit le code suivant:

function y = fcn(u)
y=zeros(1);
coder.extrinsic('hilbert');
y= hilbert(1);

alors u est de type double timeseries, je traite de cette façon les éléments de la série un par un et j'envoie vers la sortie qui est y, y est de type complexe où normalement la partie imaginaire est la transformé de hilbert du signal et la partie réelle est le signal d'origine. SEULEMENT....j’obtiens une transformé de hilbert NULE...POURQUOI ça marche sous matlab avec ce presque même code et ça ne marche pas quand j'intègre ce code à mon diagram bloc...J'y réfléchi tout le temps, aidez moi s'il vous plais.




Transforme de fourier sujet

vendredi 31 janvier 2014




Es ce qu'il Quelqu'un qui peut m'aider à trouver ce résultat:

Pièce jointe 240324

En utilisant la décomposition en série de Fourier a partir de :

Pièce jointe 240325