matlab 波形片段切割,MATLAB进行傅立叶变换中添加程序在原时域波形中进行截断...

该博客探讨了12位ADC如何采样0到5V的电压信号,并将模拟信号转换为数字信号,保留小数点后两位精度。通过示例程序展示了信号的时域波形、幅值谱线和离散信号处理。内容涵盖了连续时间傅里叶变换(CTFT)、离散时间傅里叶变换(DTFT)及其应用。
摘要由CSDN通过智能技术生成

1.假设是12位adc采样0到5v,还原成数字信号时(画图)小数点后只保留两位   与原精确信号进行比较   取点列表来观察数据  如某点数据是2.345674 只留2.35      怎么添加程序啊!!!  求各位大神帮忙  本人学电气,毕设弄了个信号题目  哭!

原程序  clc;close all;clear;

%CTFT 程序, 以 x(t)=sin(t) t>=0 为例

%利用数值运算计算并绘制连续信号波形

L=7, %定义信号波形显示时间长度

fs=4,T=1/fs; %定义采样频率和采样周期

t_num=linspace(0,L,100);%取若干时点, 点数决定作图精度

xt_num=sin(t_num);%计算信号在各时点的数值

subplot(3,2,1);plot(t_num,xt_num),%绘信号波形

xlabel('时间(秒)'),ylabel('x(t)'),%加标签

grid,title('(a) 信号时域波形'),%加网格和标题

%利用符号运算和数值运算计算连续信号幅度谱的理论值

syms t W %定义时间和角频率符号对象

xt=sin(t)*heaviside(t),%连续信号解析式

XW=fourier(xt,t,W),%用完整调用格式计算其傅氏变换

%在 0 两边取若干归一化频点, 点数决定作图精度

w1=[linspace(-0.5,0,50),linspace(0,1.5,150)];

XW_num=subs(XW,W,w1*2*pi*fs);%利用置换函数求频谱数值解

mag1=abs(XW_num);%计算各频点频谱的幅值

subplot(3,2,2);plot(w1,mag1),%绘制归一化频率幅值谱线

xlabel('频率(*2*pi*fs)rad/s'),ylabel('幅度'), %加标签

grid,title('(b) 连续信号幅频理论值'), %加网格和标题

%DTFT 程序, 以 x(n)=sin(nT) n>=0 为例

%利用数值运算计算并绘制离散信号图形

N=L*fs+1;n_num=0:N-1;%生成信号波形采样点

xn_num=sin(n_num*T);%计算信号理想采样后的序列值

subplot(3,2,3);stem(n_num,xn_num,'b.'),%绘序列图形

xlabel('n'),ylabel('x(n)'),%加标签

grid,title('(c) 理想采样图形'),%加网格和标题

%利用符号运算和数值运算计算离散信号幅度谱的理论值

syms n z w %定义符号对象

xn=sin(n*T), %定义离散信号

Xz=ztrans(xn,n,z),%用完整调用格式计算其 Z 变换

%利用复合函数计算序列傅里叶变换的解析解

Z=sin(j*w);Hejw=compose(Xz,Z,z,w);

Hejw_num=subs(Hejw,w,w1*2*pi); %求频谱数值解

mag2=abs(Hejw_num);%计算各频点频谱的幅度

subplot(3,2,4);plot(w1,mag2*T), %绘制频谱幅度曲线

xlabel('频率(*2*pi)rad'),ylabel('幅度'), %加标签

grid,title('(d) 离散信号幅频理论值'), %加网格和标题

%序列加窗图示及频谱幅值绘制

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值