Signal super gaussienne
Répondre à la discussion
Affichage des résultats 1 à 2 sur 2

Signal super gaussienne



  1. #1
    invitec8026e9d

    Signal super gaussienne


    ------

    Bonjour tout le monde ;

    Voila mon but dans ce programme est d'introduire a l'entrée une gaussienne et je veux avoir en sortie le méme signal ( j'utilise pour cela Matlab ) quand je simule ya une erreure si une personne peut m'aidée ça serrait sympa voici mon algorithme :


    Code:
     Po= 4; % [mW] initial peak power of signal source 
    C = 0; % Chirping Parameter 
    m = 1; % Super Gaussian parameter (m=1 ==> Gaussian) 
    t0 = 100e-12; %[sec] initial pulse width 
    vgroup= 2e8; 
    alpham=0.24; 
    attn=0.24; 
    taum = 10000; 
    dtau = 2*taum/2^12; %1.953 
    tunit= 1e-12; % make time unit in psec 
    tau = (-1000:dtau:(taum-dtau))*tunit; % 
    % fs = 1/(dtau*tunit);
    
    at = sqrt(Po)*exp(-0.5*(1+i*C)*(tau/t0).^(2*m)); % Input field in the time domain 
    subplot(2,2,1); 
    plot(tau,at); 
    title('input wave');
    
    for x=0:16;
        N=length(x);
    
    bt = sqrt(Po)*exp(-0.5*((tau-((2*x)/vgroup))/t0).^2)*exp(3.84);
    
    subplot(2,2,2) 
    plot(N,bt,'-rx'); 
    end 
    l=trapz(x,bt); 
    subplot(2,2,3); 
    plot(t,l,'-rx');

    Merci .

    -----
    Dernière modification par JPL ; 21/03/2016 à 16h55. Motif: Ajout de la balise Code (#)

  2. #2
    Antoane
    Responsable technique

    Re : Signal super gaussienne

    Bonjour et bienvenue sur Futura!

    Les messages d'erreur donnés par Matlab sont généralmenet assez clairs, il faut les lire, et essayer de comprendre. Ici, Matlab te dit:
    Error using trapz (line 58)
    LENGTH(X) must equal the length of Y in dim 2.
    Y, c'est ton vcteur ligne bt.
    Une solution (à voir si c'est effectivement ce que tu veux faire physiquement), consiste à écrire :
    l=trapz(x*ones(size(bt)), bt) ;

    Une fois que tu auras réglé ce problème, il faudra t'intéresser au fait que t n'est pas défini.

    Et, accessoirement, remplace i par 1i dans :
    at = sqrt(Po)*exp(-0.5*(1+i*C)*(tau/t0).^(2*m)); % Input field in the time domain

    et il serait peut-être nécessaire d'ajouter un "hold on" après subplot(222) (qui pourrait d'ailleurs sortir de la boucle), sans quoi seul le dernier plot (i.e. celui pour x=16) sera conservé sur le subplot.

    Enfin, pense à bien indenter ton programme.
    Deux pattes c'est une diode, trois pattes c'est un transistor, quatre pattes c'est une vache.

Discussions similaires

  1. Normalisation de l'intégrale d'une super gaussienne.
    Par invite1d872511 dans le forum Mathématiques du supérieur
    Réponses: 2
    Dernier message: 19/05/2015, 15h40
  2. Gaussienne
    Par invite9c898f54 dans le forum Mathématiques du supérieur
    Réponses: 6
    Dernier message: 05/11/2014, 21h22
  3. Loi gaussienne
    Par babaz dans le forum Mathématiques du supérieur
    Réponses: 6
    Dernier message: 18/03/2011, 18h08
  4. TF d'une gaussienne
    Par invite204ce29c dans le forum Physique
    Réponses: 4
    Dernier message: 23/11/2007, 20h12
  5. Livre de maths super-balèze pour prof super-balèze
    Par invitebd8dbca5 dans le forum Mathématiques du supérieur
    Réponses: 15
    Dernier message: 13/06/2006, 22h11