《DSP using MATLAB》Problem 5.3
这段时间爬山去了,山中林密荆棘多,沟谷纵横,体力增强不少。
代码:
- %% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- %% Output Info about this m-file
- fprintf('\n***********************************************************\n');
- fprintf(' <DSP using MATLAB> Problem 5.3 \n\n');
- banner();
- %% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- % ------------------------------------------
- % 1 x1(n)=5sin(0.1pi*n) n=[0:19], N=40
- % ------------------------------------------
- L = 20; n = [0:L-1]; N = 40; k = [-N/2:N/2]; % wave parameters
- xn_1 = [5*sin(0.1*pi*n), zeros(1, N-L)];
- Xk_1 = dfs(xn_1, N); % DFS
- magXk = abs( [Xk_1(N/2+1 : N) Xk_1(1 : N/2+1)] ); % DFS magnitude
- angXk = angle( [Xk_1(N/2+1 : N) Xk_1(1 : N/2+1)] )/pi; % DFS angle
- figure('NumberTitle', 'off', 'Name', 'P5.3 xn_1')
- set(gcf,'Color','white');
- stem([0:N-1], xn_1);
- xlabel('n'); ylabel('x(n)');
- title('xn1 sequence, N=40'); grid on;
- %% ------------------------------------------------------
- %% DFS(k) of xn1 sequence
- %% ------------------------------------------------------
- figure('NumberTitle', 'off', 'Name', 'P5.3 DFS(k) of xn_1')
- set(gcf,'Color','white');
- subplot(2,1,1); stem(k, magXk); %axis([-N/2, N/2, -0.5, 50.5]);
- xlabel('k'); ylabel('magnitude(k)');
- title('DFS magnitude of xn1, N=40'); grid on;
- subplot(2,1,2); stem(k, angXk); %axis([-N/2, N/2, -0.5, 50.5]);
- xlabel('k'); ylabel('angle(k)');
- title('DFS angle of xn1, N=40'); grid on;
- % ------------------------------------------
- % 2 x2(n)=5sin(0.1pi*n) n=[0:19], N=80
- % ------------------------------------------
- L = 20; n = [0:L-1]; N = 80; k = [-N/2:N/2]; % wave parameters
- xn_2 = [5*sin(0.1*pi*n), zeros(1, N-L)];
- Xk_2 = dfs(xn_2, N); % DFS
- magXk = abs( [Xk_2(N/2+1 : N) Xk_2(1 : N/2+1)] ); % DFS magnitude
- angXk = angle([Xk_2(N/2+1 : N) Xk_2(1 : N/2+1)] )/pi; % DFS angle
- figure('NumberTitle', 'off', 'Name', 'P5.3 xn_2')
- set(gcf,'Color','white');
- stem([0:N-1], xn_2);
- xlabel('n'); ylabel('x(n)');
- title('xn2 sequence, N=80'); grid on;
- %% ------------------------------------------------------
- %% DFS(k) of xn2 sequence
- %% ------------------------------------------------------
- figure('NumberTitle', 'off', 'Name', 'P5.3 DFS(k) of xn_2')
- set(gcf,'Color','white');
- subplot(2,1,1); stem(k, magXk); %axis([-N/2, N/2, -0.5, 50.5]);
- xlabel('k'); ylabel('magnitude(k)');
- title('DFS magnitude of xn2, N=80'); grid on;
- subplot(2,1,2); stem(k, angXk); %axis([-N/2, N/2, -0.5, 50.5]);
- xlabel('k'); ylabel('angle(k)');
- title('DFS angle of xn2, N=80'); grid on;
运行结果:
这两个序列的基本周期不同,但是二者非零元素值相同。x2(n)相当于在x1的末尾进行补零操作,加了40个零。
《DSP using MATLAB》Problem 5.3的更多相关文章
- 《DSP using MATLAB》Problem 7.27
代码: %% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ %% Output In ...
- 《DSP using MATLAB》Problem 7.26
注意:高通的线性相位FIR滤波器,不能是第2类,所以其长度必须为奇数.这里取M=31,过渡带里采样值抄书上的. 代码: %% +++++++++++++++++++++++++++++++++++++ ...
- 《DSP using MATLAB》Problem 7.25
代码: %% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ %% Output In ...
- 《DSP using MATLAB》Problem 7.24
又到清明时节,…… 注意:带阻滤波器不能用第2类线性相位滤波器实现,我们采用第1类,长度为基数,选M=61 代码: %% +++++++++++++++++++++++++++++++++++++++ ...
- 《DSP using MATLAB》Problem 7.23
%% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ %% Output Info a ...
- 《DSP using MATLAB》Problem 7.16
使用一种固定窗函数法设计带通滤波器. 代码: %% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ...
- 《DSP using MATLAB》Problem 7.15
用Kaiser窗方法设计一个台阶状滤波器. 代码: %% +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ...
- 《DSP using MATLAB》Problem 7.14
代码: %% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ %% Output In ...
- 《DSP using MATLAB》Problem 7.13
代码: %% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ %% Output In ...
- 《DSP using MATLAB》Problem 7.12
阻带衰减50dB,我们选Hamming窗 代码: %% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ...
随机推荐
- Win10系列:JavaScript 模板绑定
WinJS库模板提供了一种格式化显示多条数据的便捷方式,通过这种方式可以将模板与ListView或FlipView等控件结合使用以控制数据的显示格式.定义一个WinJS库模板的方法与定义WinJS库控 ...
- awk计算最大值,最小值,平均值的脚本
传入至少三个数字参数到脚本awk_file,并计算出最大,最小,平均值.需要判断传入的数字是否足够,否则输出警告信息.平均值保留两位小数. 如执行bash awk_file 3 4 6 5,脚本输出结 ...
- SpringMVC解析Json字符串
不同第三方jar对json串的解析效果不同. 1. json包 <dependency> <groupId>org.json</groupId> <artif ...
- jmeter4.0 源码编译 二次开发
准备: 1.jmeter4.0源码 - apache-jmeter-4.0_src.zip 2.IDE Eclipse - Oxygen.3 Release (4.7.3) 3.JDK - 1.8.0 ...
- 玩转X-CTR100 l STM32F4 l VIN输入电压采集(锂电池电量计)
我造轮子,你造车,创客一起造起来!塔克创新资讯[塔克社区 www.xtark.cn ][塔克博客 www.cnblogs.com/xtark/ ] 本文介绍X-CTR100控制器 采集VIN ...
- java Dom4j xml 写
手动拼接xml 并返回 依赖包 <dependency> <groupId>dom4j</groupId> <artifactId>dom4j</ ...
- Python如何操作redis
做UI自动化时,遇到一个问题,需要在后台操作完成后,产生结果才能在前端进行操作,但是用自动化在后台操作又很麻烦,就想直接操作数据库,然后再 在前端进行操作:这时遇到一个问题,在后台操作时,会写入到数据 ...
- YLZ开发后端外网编写
如何取得前端的值并做处理 // 调用ESB来获取Ajaxpagerespon获得审核记录 @RequestMapping(value = "/queryBydwId", metho ...
- [SpringMVC-值传递] 初始SpringMVC--SpringMVC中的值传递
把页面中输入的值传递到后台以及后台向前台传递,有以下几种方式 这里以登录为例子,实现打印前端页面的值 1,新建一个控制器,根据不同的请求地址实现不同的请求方式 LoginController.java ...
- 转-Asynchronous bulk transfer using libusb
https://falsinsoft.blogspot.jp/2015/02/asynchronous-bulk-transfer-using-libusb.html The 'linusb' is ...