
如何用matlab编程实现A/D以及D/A转换
假设现有一个已经经过采样的信号x(n)=a.*cos(2.*pi.*f0.*n),n=0,1,2,……L-1已知参数a=4,f0=0.02,andL=50,谁能帮我编一段...
假设现有一个已经经过采样的信号 x(n)=a.*cos(2.*pi.*f0.*n) , n=0,1,2,……L-1 已知参数 a=4,f0=0.02,and L=50,谁能帮我编一段A/D 转换的程序,把x(n)变成 5 bits 的数字信号 with range of 范围 R=16。
然后再编一段用阶梯法实现的 D/A 转换程序,把刚才转换的数字信号能近似地再变回去。若给出程序,而且能在matlab 上跑通的,高分重赏 !!! 展开
然后再编一段用阶梯法实现的 D/A 转换程序,把刚才转换的数字信号能近似地再变回去。若给出程序,而且能在matlab 上跑通的,高分重赏 !!! 展开
展开全部
clc;
close all;
clear all;
a=4;
f0=0.02;
L=50;
n=1:(L-1);
x=a.*cos(2.*pi.*f0.*n);
bit=5;
range=2^5;
plot(x);
interval=(a*2)/(range-1);
partition = [-a:interval:a];
interval2 = (a*2)/(range)
codebook=[-a:interval2:a];
[index quantized]= quantiz(x,partition,codebook);
plot(n,x,'x',n,quantized,'.');
legend('Original signal','Quantized signal');
%index为输出5bit输出数字信号
%下面从index到output
output=(index-16)/4;
figure;
plot(n,x,n,output);
legend('Original signal','Output signal');
close all;
clear all;
a=4;
f0=0.02;
L=50;
n=1:(L-1);
x=a.*cos(2.*pi.*f0.*n);
bit=5;
range=2^5;
plot(x);
interval=(a*2)/(range-1);
partition = [-a:interval:a];
interval2 = (a*2)/(range)
codebook=[-a:interval2:a];
[index quantized]= quantiz(x,partition,codebook);
plot(n,x,'x',n,quantized,'.');
legend('Original signal','Quantized signal');
%index为输出5bit输出数字信号
%下面从index到output
output=(index-16)/4;
figure;
plot(n,x,n,output);
legend('Original signal','Output signal');
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?

2025-07-02 广告
是的。传统上,对于符合要求的内毒素检测,最终用户必须从标准内毒素库存瓶中构建至少一式两份三点标准曲线;必须有重复的阴性控制;每个样品和PPC必须一式两份。有了Sievers Eclipse内毒素检测仪,这些步骤可以通过使用预嵌入的内毒素标准...
点击进入详情页
本回答由Sievers分析仪提供
展开全部
a
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询