Bonjour,
Je cherche à réaliser une modulation BPSK en bande de base sur matlab (octave plus précisément mais c'est sensiblement la même chose). J'ai écrit le code suivant:
Ne prenez pas en compte le codage différentiel je l'ai mis de coté pour le moment... J'ai donc crée un flux binaire auquel j'applique un maping NRZ. Je filtre ce flux par la suite afin de réduire son occupation spectrale et j'obtiens ainsi un flux oscillant entre 1 et -1.Code:clear all; close all; k=10; % Generate random source data {0, 1} d_data = (rand(1, k) > .5); % Generation de la séquence %d_seq = zeros(1, k); % Codage différentiel %for k=1: length(d_data) % if (k=1) % d_seq(1 ,2)= xor(d_data(1, 1), d_seq(1, 1)); % else % d_seq(1 ,k) = xor(d_data(1, k), d_seq(1 ,k-1)); % end %end %d_seq(1,k) = xor(d_data(1,k), d_seq(1,k-1)); % Codage NRZ d_signal= (1 :k); for k=1 : length(d_signal) if d_data(1, k) == 0 d_signal(1 ,k) = -1; elseif d_data(1 ,k) == 1 d_signal(1 ,k) = 1; end end %Oversampling L=8; d_ovSignal=reshape(repmat(d_signal, L, 1), 1, length(d_signal)*L); x %Shaping via filtre fir1 h = fir1(8,50/(800/2)); d_base=filter(h,1,d_ovSignal); freqz(h, 1) % Modulation I=real(d_base); Q=imag(d_base); %% Affichage plot(I, Q ,'.'); xlabel('inPhase'); ylabel('Quadrature'); axis([-2, 2, -2, 2]);
Et je veux afficher la constellation de ma BPSK (je devrais trouver deux foyers en -1 et 1. Sauf que j’obtiens:
Et cela viens je pense du fait que je ne plot que je ne plot pas mon signal complexe... Normalement Q ne devrais pas etre nul, or il l'est dans ce cas... Quelqu’un aurait une idée su signal que je devrais ploter ? N'hésitez pas à me demander des précisions si je n'ai pas été assez clair... Merci d'avance
-----