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

📄 fig611.m

📁 高西全2009年最新版<数字信号处理>源码程序
💻 M
字号:
clear all;close all;
N=2000;T=0.001;Tp=N*T;
t=0:T:(N-1)*T;
k=0:N-1;
f=k/Tp;
fsa=1/T;fc=fsa/10;f0=fc/10;
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
%===============================
fp=150; fs=300; 			% 输入给定指标
Rp=1;As=60;Fs=fsa;
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);      %滤除随机噪声中低频成分,生成高通噪声
%============================
st=xt+yt;           %噪声加信号
fst=fft(st,N);
subplot(2,1,1)
plot(t,st);grid;xlabel('t/s');ylabel('x(t)');
axis([0,Tp/8,min(st),max(st)]);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('幅度')
%==============================
fp=150; fs=200; 			% 输入给定指标
Rp=0.2;As=60;Fs=fsa;
fb=[fp,fs];m=[1,0]; 		% 计算remezord函数所需参数f,m,dev
dev=[(10^(Rp/20)-1)/(10^(Rp/20)+1),10^(-As/20)];
[n,fo,mo,W]=remezord(fb,m,dev,Fs);	% 确定remez函数所需参数
hn=remez(n,fo,mo,W);		% 调用remez函数进行设计
fhw=fft(hn,N);			% 求设计出的滤波器频率特性
figure(2)
subplot(2,1,1)
plot(f,abs(fhw));grid;title('(c) 低通滤波器幅频特性')
axis([0,Fs/2,0,max(abs(fhw))+0.5]);
xlabel('f/Hz');ylabel('幅度')
%===============================
zt=filter(hn,1,st);
subplot(2,1,2)
plot(t,zt);grid;
axis([0,Tp/8,-1,1]);xlabel('t/s');ylabel('s(t)');
title('(d) 滤除噪声后的信号波形')

⌨️ 快捷键说明

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