基于多项滤波的数字正交变换MATLAB仿真程序
2015-07-07 10:35
931 查看
function filter_emu( Num ) %UNTITLED Summary of this function goes here % Detailed explanation goes here %num_size = sizeof(Num);
%利用多项滤波器的分支特性获得两个有半个采样点时延的低通滤波器系数</span>
filt1 = zeros(1,8);filt2 = zeros(1,8);for m = 1:64if(mod(m,8) == 4)filt1(i) = Num(m);endif(mod(m,8) == 0)filt2(i) = Num(m);i = i + 1;endend%------生成窄带信号,中频150MHz,带宽不大于20MHz%------仿真信号x(t)=a(t)*cos[2*pi*f0*t+phi(t)]f0 = 1.5e8; %中心频率fs = 2e8; %采样频率N = 1600; %取的样本点数n = 0:N-1; %取的样本序列t = n/fs; %获得以1/fs为时间间隔的采样序列%a = 1+cos(2*pi*1000*t);%获取a(t)的采样点phi = 2*pi*2e6;%获取phixt = cos(2*pi*f0*t+phi*t);%生成窄带信号并获取其采样点%------进行2倍抽取并混频nt = 1:N/20;xi = xt(2*nt).*((-1).^nt); %获取同相分量xq = xt(2*nt-1).*((-1).^nt);%获取正交分量%------打印同相分量与正交分量figure(1);plot(nt,xi,'r');hold on;plot(nt,xq,'g');grid on;%------滤波x1 = filter(filt1,1,xi);x2 = filter(filt2,1,xq);%------打印恢复后的同相正交分量figure(2);plot(nt,x1,'r');hold on;plot(nt,x2,'g');grid on;end注:Num为生成的63阶FIR滤波器系数存放的数组,通过fdatool工具得到。
相关文章推荐
- 解析在main函数之前调用函数以及对设计的作用详解
- java和matlab画多边形闭合折线图示例讲解
- C#调用Matlab生成的dll方法的详细说明
- 从java中调用matlab详细介绍
- VC++与Matlab混合编程的快速实现
- Matlab 矩阵运算
- matlab与opencv部分函数的对照
- matlab神经网络工具箱创建神经网络
- Matlab
- MATLAB 入门教程
- matlab函数_连通区域
- MATLAB中函数模式和命令模式的区别
- MATLAB 添加自定义的模块到simulink库浏览器
- MATLAB for Mac使编辑器支持中文
- [转]matlab中plot用法
- matlab程序优化以及eclipse与github的结合
- matlab中的rand函数(用于产生随机数)
- 图像增强算法四种,图示与源码,包括retinex(ssr、msr、msrcr)和一种混合算法
- MATLAB R2012a 安装到 Ubuntu 12.10
- 智慧网 分享DCT,DST,matlab