没有合适的资源?快使用搜索试试~ 我知道了~
用窗函数法或等波纹法设计滤波器代码,matlab
需积分: 0 0 下载量 181 浏览量
2024-04-18
15:01:45
上传
评论
收藏 62KB DOC 举报
温馨提示
试读
5页
clear all;close all Fs=1000;T=1/Fs; %采样频率 N=1000;xt=xtg ; %调用信号产生函数mstg产生由三路抑制载波调幅信号相加构成的复合信号st %低通滤波器设计与实现 fp=120;fs=150; wp=0.23*pi;ws=0.3*pi;rp=0.1;rs=60; B=ws-wp; %计算过度带带宽 M=ceil(11*pi/B)-1; %确保M为奇数 wc=(wp+ws)/2/pi;%计算理想高通滤波器通带截止频率(关于pi的归一化)...
资源推荐
资源详情
资源评论
产生 xt 信号代码
function xt=xtg
%滤波器指标:通带截止频率 fp=120hz,阻带截止频率 fs=150hz,换算成数字频率
为 wp=2*pi*fp/fs=0.24*pi
%通带最大衰减 0.1dB,阻带截止频率 ws=0.3*pi,阻带最小衰减 60dB
%实验五信号 x(t)产生,并显示信号的幅频特性曲线
%xt=xtg(N) 产生一个长度为 N,有加性高频噪声的单频调幅信号 xt,采样频率
Fs=1000Hz
%载波频率 fc=Fs/10=100Hz,调制正弦波频率 f0=fc/10=10Hz.
N=1000;Fs=1000;T=1/Fs;Tp=N*T;%采样时间为 Tp=1s
t=0:T:(N-1)*T;
fc=Fs/10;f0=fc/10; %载波频率 fc=Fs/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
%=======设计高通滤波器 hn,用于滤除噪声 nt 中的低频成分,生成高通噪声
=======
fp=150; fs=200;Rp=0.1;As=70; % 滤波器指标
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 函数所需参数,最低阶数 m,
误差加权值 w,归一化边界频率 f
hn=remez(n,fo,mo,W); % 调用 remez 函数进行设计,用于滤除噪声 nt 中的低
频成分
yt=filter(hn,1,10*nt); %滤除随机噪声中低频成分,生成高通噪声 yt
%================================================================
xt=xt+yt; %噪声加信号
fst=fft(xt,N);k=0:N-1;f=k/Tp;
subplot(3,1,1);plot(t,xt);grid;xlabel('t/s');ylabel('x(t)');
axis([0,Tp/5,min(xt),max(xt)]);title('(a) 信号加噪声波形')
subplot(3,1,2);plot(f,abs(fst)/max(abs(fst)));grid;title('(b) 信号加噪
声的频谱')
axis([0,Fs/2,0,1.2]);xlabel('f/Hz');ylabel('幅度')
资源评论
算法工程师y
- 粉丝: 169
- 资源: 54
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功