📄 xng.asv
字号:
function xt=xng(Fs)
%实验五中信号x(t)产生函数,并显示信号的幅频特性曲线
%调用参数Fs为采样频率
%产生一个长度为N的信号采样序列向量xt,N=20*f0
T=1/Fs;Tp=N*T;t=0:T:(N-1)*T;
k=0:N-1;f=k/Tp;
fc=Fs/20;f0=fc/10; %单频调制信号频率为f0;载波频率fc=10*f0
mt=cos(2*pi*f0*t); %产生单频正弦波调制信号mt,频率为f0
ct=cos(2*pi*fc*t); %产生载波正弦波信号ct,频率为fc
xt=mt.*ct; %相乘产生单频调制信号xt
nt=2*rand(1,N)-1; %产生随机噪声nt
%=======设计滤波器hn,用于滤除噪声nt中的低频成分,生成高通噪声=======
fp=125; fs=200;Rp=1;As=60; % 滤波器指标
fb=[fp,fs];m=[0,1]; % 计算remezord函数所需参数f,m,dev
dev=[10^(-As/20),(10^(Rp/20)-1)/(10^(Rp/20)+1)];
[n,fo,mo,W]=remezord(fb,m,dev,Fs); % 确定remez函数所需参数
hn=remez(n,fo,mo,W); % 调用remez函数进行设计,用于滤除噪声nt中的低频成分
yt=filter(hn,1,10*nt); %滤除随机噪声中低频成分,生成高通噪声yt
%================================================================
xt=xt+yt; %噪声加信号
fst=fft(xt,N);
subplot(2,1,1);plot(t,xt);grid;xlabel('t/s');ylabel('x(t)');
axis([0,Tp/8,min(xt),max(xt)]);title('(a) 信号加噪声波形')
subplot(2,1,2);plot(f,abs(fst)/max(abs(fst)));grid;title('(b) 信号加噪声的频谱')
axis([0,Fs/2,0,1.2]);xlabel('f/Hz');ylabel('幅度')
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -