git-svn-id: http://moon:8086/svn/vhdl/trunk@166 cc03376c-175c-47c8-b038-4cd826a8556b
37 lines
1.0 KiB
Matlab
37 lines
1.0 KiB
Matlab
% Read data
|
|
function tb_results()
|
|
fa = 100.0;
|
|
f = TEXTREAD('freq.txt')*1E-6
|
|
R = 64;
|
|
fa_dec = fa/R
|
|
N_pfir = 63;
|
|
|
|
I_out_dec = TEXTREAD('i_dec.txt')';
|
|
Q_out_dec = TEXTREAD('q_dec.txt')';
|
|
|
|
N_dec = length(I_out_dec)-2*N_pfir;
|
|
N_fft_dec = N_dec
|
|
N_fft2_dec = N_fft_dec/2;
|
|
fft_y2_dec = 2/N_fft_dec*abs(fft(I_out_dec(2*N_pfir+1:N_fft_dec+2*N_pfir).*hann(N_fft_dec)'));
|
|
|
|
pfir_b = sinc(0.2*(-(N_pfir-1)/2:1:(N_pfir)/2));
|
|
pfir_b = pfir_b/sum(pfir_b).*blackman(N_pfir)';
|
|
I_out_dec_pfir = filter(pfir_b, 1, I_out_dec);
|
|
Q_out_dec_pfir = filter(pfir_b, 1, Q_out_dec);
|
|
fft_y2_dec_pfir = 2/N_fft_dec*abs(fft(I_out_dec_pfir(2*N_pfir+1:N_fft_dec+2*N_pfir).*hann(N_fft_dec)'));
|
|
|
|
% Output
|
|
close all;
|
|
|
|
plot(fa/(R*N_fft_dec)*(0:N_fft2_dec),20*log10(fft_y2_dec(1:N_fft2_dec+1)), '-', fa/(R*N_fft_dec)*(0:N_fft2_dec),20*log10(fft_y2_dec_pfir(1:N_fft2_dec+1)), '-'); grid;
|
|
xlabel('MHz');
|
|
figure;
|
|
plot(1:length(I_out_dec_pfir), I_out_dec_pfir, 1:length(Q_out_dec_pfir), Q_out_dec_pfir); grid;
|
|
|
|
figure;
|
|
freqz(pfir_b, 1, 1000);
|
|
|
|
figure;
|
|
plot(pfir_b); grid;
|
|
|