matlab信号内插,【 MATLAB 】MATLAB 实现模拟信号采样后的重建(三)应用三次样条函数spline实现内插...
前三篇博文讲了三种方法进行内插重建信号:
这篇文章使用三次样条函数spline来实现内插重建,并分析重建误差。
采用的案例依然是上篇博文中的案例:
模拟信号:
对该信号使用两种不同的采样频率采样。
a. 在 fs = 5000 对信号进行采样
b. 在 fs = 1000 对信号采样
前面太多的文章作为铺垫,这里直接给出MATLAB脚本:
clc
clear
close all
% Analog signal
Dt = 0.00005;
t = - 0.005:Dt:0.005;
xa = exp(-1000 * abs(t));
subplot(3,1,1);
plot(1000*t,xa);
title('Analog signal');
xlabel('t in msec');
ylabel('xa');
%Fs = 5000,Ts = 0.0002
% Discrete-time signal
Ts = 0.0002;
Fs = 1/Ts;
n = -25:25;
nTs = n*Ts;
x = exp(-1000*abs(nTs));
subplot(3,1,2)
plot(1000*t,xa);
hold on
stem(n*Ts*1000,x);
title('Discrete-time signal');
hold off
% Analog signal reconstruction
subplot(3,1,3);
xa_r = spline(nTs,x,t);
plot(t*1000,xa_r);
title('Analog signal reconstruction');
xlabel('t in msec');
ylabel('xa after reconstruction');
hold on
stem(n*Ts*1000,x)
hold off
error1 = max(abs(xa_r - xa))
% Fs = 1000, Ts = 1ms
% Discrete-time signal
Ts = 0.001;
Fs = 1/Ts;
n = -5:5;
nTs = n*Ts;
x = exp(-1000*abs(nTs));
figure
subplot(3,1,1);
plot(1000*t,xa);
title('Analog signal');
xlabel('t in msec');
ylabel('xa');
subplot(3,1,2)
plot(1000*t,xa);
hold on
stem(n*Ts*1000,x);
title('Discrete-time signal');
hold off
% Analog signal reconstruction
subplot(3,1,3);
xa_r = spline(nTs,x,t);
plot(1000*t,xa_r);
title('Analog signal reconstruction');
xlabel('t in msec');
ylabel('xa after reconstruction');
hold on
stem(n*Ts*1000,x)
hold off
error2 = max(abs(xa_r - xa))
当采样率Fs为5000 样本/s时,重建结果:
误差:
error1 =
0.0317
重建和真正的模拟信号之间的误差是0.0317,这是由于非理想内插和非带限造成的。将这个误差与sinc函数内插比较(理想),这个误差还比较小。从重构图上看,重建还是不错的。
当采样率Fs为1000样本/s时,重构结果:
error2 =
0.1679
这个情况下误差较大,这是由于采样间隔过大,也就是采样率过低造成的频谱混叠造成的,不能恢复原始信号了。
本文同步分享在 博客“李锐博恩”(CSDN)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。
matlab信号内插,【 MATLAB 】MATLAB 实现模拟信号采样后的重建(三)应用三次样条函数spline实现内插...相关推荐
- 【 MATLAB 】MATLAB 实现模拟信号采样后的重建(三)一阶保持(FOH)内插
上篇博文采用了零阶保持(ZOH)的方式进行了重构:[ MATLAB ]MATLAB 实现模拟信号采样后的重建(二)零阶保持(ZOH) 这篇博文我们使用一阶保持(FOH)内插来重建信号,采用的案例依然是 ...
- 【 MATLAB 】MATLAB 实现模拟信号采样后的重建(二)零阶保持(ZOH)
上篇博文采样sinc函数内插的方式实现了模拟信号的重建:[ MATLAB ]MATLAB 实现模拟信号采样后的重建(一) 这篇博文我们使用零阶保持器(ZOH)来重建信号,采用的案例依然是上篇博文中的案 ...
- 【 MATLAB 】MATLAB 实现模拟信号采样后的重建(三)应用三次样条函数spline实现内插
前三篇博文讲了三种方法进行内插重建信号: sinc函数内插重建 零阶保持(ZOH)内插重建 一阶保持内插(FOH)重建 这篇文章使用三次样条函数spline来实现内插重建,并分析重建误差. 采用的案例 ...
- 【 MATLAB 】MATLAB 实现模拟信号采样后的重建(一)
为了让MATLAB数字信号处理的相关博文能够得到一个梳理,我开通了一个专栏:数字信号处理的MATLAB实现 模拟信号经过采样后得到x(n),从x(n)中重建模拟信号在数学上可用公式来描述: 式中, 是 ...
- matlab 信号插零,【 MATLAB 】MATLAB 实现模拟信号采样后的重建(二)零阶保持(ZOH)...
这篇博文我们使用零阶保持器(ZOH)来重建信号,采用的案例依然是上篇博文中的案例: 模拟信号: 对该信号使用两种不同的采样频率采样. a. 在 fs = 5000 对信号进行采样 b. 在 fs = ...
- 信号与系统实验感想 matlab,信号与系统MATLAB实验报告.doc
信号与系统MATLAB实验报告.doc 成绩 信号与系统实验报告 课 程 名 信号与系统 学 部 机械与电子信息学部 专 业 电子信息工程 学 号 姓 名 曹 禹 指导教师 吴国平 日 期 2013/ ...
- 系统稳态响应MATLAB,信号与系统matlab实验3连续时间LTI分析
<信号与系统matlab实验3连续时间LTI分析>由会员分享,可在线阅读,更多相关<信号与系统matlab实验3连续时间LTI分析(13页珍藏版)>请在人人文库网上搜索. 1. ...
- 确定信号的功率谱matlab,信号的功率谱估计——Matlab
%用Fourier变换求取信号的功率谱---周期图法 clf; Fs=1000; N=256;Nfft=256;%数据的长度和FFT所用的数据长度 n=0:N-1;t=n/Fs;%采用的时间序列 xn ...
- fdma调制解调matlab,信号与系统Matlab实验—频分多址FDMA
频分多址FDMA实验 一.实验目的 1.通过matlab软件实现頻分多址功能 1.学习使用Simulink进行系统仿真的方法 2.学习使用Simulink进行系统的频域分析方法 二.实验内容 1.根据 ...
最新文章
- IDEA中无法import自己工程中类的问题解决方法
- poj 1283(递推ordp)
- 纯CSS图片缩放后显示详细信息
- 一篇文章解决Python函数式编程与闭包的问题
- kaggle入门题Titanic
- python画心形代码大全_七夕,程序员的表白代码
- FishC笔记—33 讲 异常处理:你不可能总是对的2
- JavaWeb——什么是Session及Session的用法
- 看单片机原理图-电源电路
- mysql数据库order by_[数据库]mysql 使用order by
- bittorrent端口_如何在Linux防火墙中启用BitTorrent端口?
- JAVA工具类(17)--Java导入导出Excel工具类ExcelUtil
- 令牌登录方式流程(token)
- 49个python经典电子书
- 电脑硬盘分区删了格式化了文件如何恢复
- 2021-11-10----韩顺平Java入门第七天
- 比较 React Native 与 Vue 和 Capacitor
- jvm gc fullgc定位分析
- 计算机算法设计与分析第五章思维导图知识点总结 ( 初稿 )
- 微服务--docker学习