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:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
function y = fcn(u)
 y=zeros(u);
coder.extrinsic('hilbert');
y= hilbert(u);
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 NULLE...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.