IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Signal Discussion :

fft d'un signal BPSK


Sujet :

Signal

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Analyse système
    Inscrit en
    Mars 2020
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Mars 2020
    Messages : 1
    Points : 1
    Points
    1
    Par défaut fft d'un signal BPSK
    Bonjour à tous,

    Je viens à vous afin d'avoir un peu d'aide avec mon code Matlab.

    Je viens de réaliser une modulation et une démodulation BPSK et je souhaiterais visualiser le spectre de mon signal d'émission.

    mon problème est que je ne comprends pas comment choisir mon vecteur fréquence dans le plot de ma fft.

    Je souhaiterai visualiser mon vecteur signalBPSK et je m'attend à voir un pic a 6kHz = fc, ma fréquence carrier.

    Quelqu'un pourrais t'il m'aider à comprendre comment marche cette fft et quel vecteur freqVect dois-je choisir ?

    Merci à vous.



    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    clear all; close all; clc;
     
     
     
    %% Defining Datas to transmit.
     
    N = 1000; %Number of bits
    data = randi([0 1],1,N);
    Tb = 0.1e-3; %[s]
     
     
    %% Oversampling
    OSF = 10;
    bits = repmat(data, OSF, 1);
    bits = bits(:);
    timevect_databit = 0: Tb/OSF: N*Tb-Tb/OSF;
     
    %% modulation
     
        A = 1; %signal Amplitude
        fs = 1/Tb;
        mc = 6 ;     % should be configured such as fc >> fb
        fc = mc*fs;  % Carrier frequency fc >> fb
        phaseBit1 = 0;
        phaseBit0 = pi;
        Amp = 1;
        signalBPSK = zeros(1, length(bits));
     
        for i = 1:length(bits)
            if bits(i) == 1
                phase = phaseBit1;
            else
                phase = phaseBit0;
            end 
            sig = A*carrier(Amp, fc, phase, timevect_databit(i));
            signalBPSK(i) = sig;
        end
     
        scatterplot( signalBPSK )
     
     
     
    %BPSK demodulation
        %Multiply with the carrier
        phase = 0;
        signal_received = real(carrier(Amp, fc, phase, timevect_databit).*signalBPSK); %Supposing TX and RX LO are synchronised
     
        %integration and sampling
        signal = [];
        for i=1:OSF:length(signal_received)
            signal=[signal trapz(signal_received(i:i+OSF-1))];
        end
     
        %Hard decision
        RXdata = ( signal > 0 );
        scatterplot( signal )
     
     
     
     [NUMBER,RATIO] = biterr(data,RXdata)
     
     
     
    %% plots
     
    f1 = figure(1);
        subplot(311);
        plot(timevect_databit, bits, 'linewidth',2);grid on;
        axis([ 0 Tb*N -0.5 1.5]);
        ylabel(' Amplitude ');
        xlabel(' Time(sec) ');
        title(' Input signal ');
     
        subplot(312);
        plot(timevect_databit,signalBPSK, 'linew', 2); grid on;
        ymin = min(signalBPSK)-1;
        ymax = max(signalBPSK)+1;
        ylim( [ymin ymax]);
        xlabel('Time(sec)');
        ylabel('Amplitude');
        title('Signal with BPSK modulation ');
     
        subplot(313)
        plot(timevect_databit(1:OSF:end),RXdata,'LineWidth',2);grid on;
        ylim([min(RXdata)-0.5 max(RXdata)+0.5]);
        ylabel('Amplitude');
        xlabel(' Time(sec)');
        title('RX signal');
     
    NFFT = 4096;
     
    f_fft = fc;
    freqVect = -f_fft/2:f_fft/NFFT:f_fft/2-1/NFFT;
     
    f2 = figure(2);
        plot(freqVect, fftshift(fft(signalBPSK,NFFT)));
     
     
     
     
     
     
     
    function c = carrier(Amp, fc, phase,time)
     
    %This function creat a carrier to modulate and demodulate
     
        c = Amp*cos(2*pi*fc*time + phase);
     
    end

  2. #2
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2019
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2019
    Messages : 90
    Points : 254
    Points
    254
    Par défaut
    Bonjour,

    la fonction fft n'est pas évidente à utiliser du fait des normalisations (amplitude et fréquence).
    Une bonne idée consiste à commencer par tenter de tracer la FFT de signaux simples (e.g. d'un simple sinus, puis d'un signal carré) pour voir l'impact des paramètres.
    L'aide de matlab donne un exemple de départ : https://fr.mathworks.com/help/matlab...html#buuutyt-7

Discussions similaires

  1. FFT avec le signal d'un fichier WAVE
    Par rominous41 dans le forum Débuter
    Réponses: 8
    Dernier message: 24/05/2010, 16h57
  2. FFT d'un signal
    Par prologO dans le forum Signal
    Réponses: 6
    Dernier message: 15/01/2010, 13h22
  3. FFT d'un signal wav
    Par Brinouchette dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 19/10/2009, 10h37
  4. FFT d'un signal audio
    Par appolin dans le forum Signal
    Réponses: 1
    Dernier message: 25/12/2008, 21h36
  5. FFT d'un signal par Delphi
    Par bahja_83 dans le forum Langage
    Réponses: 2
    Dernier message: 20/05/2008, 09h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo