Salut, je suis entraîne de réaliser un code PRC avec coefficient alpha=[1 1],
lorsque le signal bipolaire travers le filtre (PRC) j'ai trouver des valeurs ternaires (-2 0 2) mais le problème le spectre n'est pas cosinus comme la théorie même lorsque le signal travers le filtre de mise en forme les valeur (-2 0 2) changent si quelqu'un peut m'aider sur l'analyse de ce problème et merci.
voici le code:

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
%Paramètre:
fs = 260e3;  % Fréquence d'échantillonnage
T = 200e-6;  % Période d'un bit
Nbits = 30;   % Nombre de symboles = Nbr de bits
dt = 1/fs;
N = round(T*fs);    % Taux d'échantillonnage
f0 = 32e3;   % Fréquence porteuse  
t=0:dt:(Nbits*N-1)*dt; %Axe du temps
fft_size = 512;
df= fs/fft_size;
f=0:df:fs/2-df; % Axe de fréquence 
t2=0:dt:(Nbits*N-53)*dt; %Axe du temps
 
rand('state',123456789);
data_tx = rand (1,Nbits)>0.5;
data_tx = 2 * data_tx - 1;   % bipolaire
 
b=[1 1];
prc = filter(b, 1, data_tx);
prc = prc(2:end); 
 
sig_tx = upsample (prc , N);
SP_prc = spectre (sig_tx, fft_size); % spectre est une fct qui permet de tracer le spectre 
%==== Mise en forme
n=8;       %Ordre du filtre
fc = 2.5e3; % Frequence de coupure
[b ,a] = butter (n, fc*2/fs);
sig_duo = filtfilt(b,a,sig_tx);