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) 离散信号幅频理论值'), %加网格和标题
%序列加窗图示及频谱幅值绘制