⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ellicfilter.m

📁 gps/galileo信号源频谱分析
💻 M
字号:
clear all;
close all;
clc;
Hmain;
global fs; % 采样率
global nn; % 一个完整扩频周期采样点数
global CA_freq;
global fc;
global F_if;
global F_if_before; 
global NOISE_POWER;

%=====================signal filter================%
wnn = 2*CA_freq;
wp1 = F_if-wnn/2;
wp2 = F_if+wnn/2;
stop_width = wnn/50;
ws1 = F_if-wnn/2-stop_width;
ws2 = F_if+wnn/2+stop_width;

Wp = [wp1 wp2]*2/fs; Ws = [ws1 ws2]*2/fs;
Rp = 0.05; Rs = 60;
[n,Wn] = ellipord(Wp,Ws,Rp,Rs);
[b,a] = ellip(n,Rp,Rs,Wn);

% =====================noise filter================%
wp1_n = F_if_before-wnn/2;
wp2_n = F_if_before+wnn/2;
ws1_n = F_if_before-wnn/2-stop_width;
ws2_n = F_if_before+wnn/2+stop_width;
fs_n = 4*fs;

Wp_n = [wp1_n wp2_n]*2/fs_n; Ws_n = [ws1_n ws2_n]*2/fs_n;
[n_n,Wn_n] = ellipord(Wp_n,Ws_n,Rp,Rs);
[b_n,a_n] = ellip(n_n,Rp,Rs,Wn_n);

%====================initial information=============%
phcode = 0;
fd = 0;
ph = 0;
Loop_time = 1;
AWGNflag = 0;

BOC_Code = BOCcode(phcode,fd,Loop_time);
[Signal_Source,Noise_Source] = CreateSource(phcode,fd,ph,AWGNflag);
Signal = Signal_Source(1:nn);
Noise = sqrt(NOISE_POWER)*randn(1,4*nn);

FN_out = filter(b_n,a_n,Noise);
FBOC_out = filter(b,a,BOC_Code);
FSignal_out = filter(b,a,Signal);

Noise_out = (abs(fft(Noise)));
F_Noise_out = (abs(fft(FN_out)));
BOC_out = (abs(fft(BOC_Code)));
F_BOC_out = (abs(fft(FBOC_out)));
Signal_out = (abs(fft(Signal)));
F_Signal_out =(abs(fft(FSignal_out)));

%%=========================oneside express===================%%
% figure,
% [Pxx,f]=periodogram(Noise,[],5000,fs_n);
% plot(f,10*log10(Pxx));
% 
% figure,
% [Pxx1,f1]=periodogram(BOC_Code,[],5000,fs);
% plot(f1,10*log10(Pxx1));
% 
% figure,
% [Pxx2,f2]=periodogram(Signal,[],5000,fs);
% plot(f2,10*log10(Pxx2));
% 
% figure,
% [Pxx3,f3]=periodogram(FN_out,[],5000,fs_n);
% plot(f3,10*log10(Pxx3));
% 
% figure,
% [Pxx4,f4]=periodogram(FBOC_out,[],5000,fs);
% plot(f4,10*log10(Pxx4));
% 
% figure,
% [Pxx5,f5]=periodogram(FSignal_out,[],5000,fs);
% plot(f5,10*log10(Pxx5));

%%==========================twoside express=============================%
figure,
L0 = length(Noise_out);
semilogy([-L0/2:L0/2-1]/L0*fs_n,fftshift((Noise_out))/max(Noise_out));
title('Noise');
grid on

figure,
L1 = length(BOC_out);
semilogy([-L1/2:L1/2-1]/L1*fs,fftshift((BOC_out))/max(BOC_out));
title('BOCout');
grid on

figure,
L2 = length(Signal_out);
semilogy([-L2/2:L2/2-1]/L2*fs,fftshift((Signal_out))/max(Signal_out));
title('SignalSource');
grid on

figure,
L3 = length(F_Noise_out);
semilogy([-L3/2:L3/2-1]/L3*fs_n,fftshift((F_Noise_out))/max(F_Noise_out));
title('Filter Noise');
grid on

figure,
L4 = length(F_BOC_out);
semilogy([-L4/2:L4/2-1]/L4*fs,fftshift((F_BOC_out))/max(F_BOC_out));
title('Filter BOCcode');
grid on

figure,
L5 = length(F_Signal_out);
semilogy([-L5/2:L5/2-1]/L5*fs,fftshift((F_Signal_out))/max(F_Signal_out));
title('Filter SignalSource');
grid on

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -