信号取样与取样定理matlab编程
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了信号取样与取样定理matlab编程相关的知识,希望对你有一定的参考价值。
1、 设有3个不同频率的正弦信号,频率分别为f1=100hz,f2=200hz,f3=3800hz。现在用取样频率fs=4000hz对这3个正弦信号进行取样,绘出各取样信号的波形及其频谱,并分析其频率混叠现象。2、结合取样定理,编程实现Sa(t)信号经过冲击脉冲取样后得到的取样信号fs(t)极其频谱,并利用fs(t)重构Sa(t)信号。求matlab程序代码急~~
clcclose all
clear all
ts=1/4000;
dt=0.0001;
t1=-0.01:dt:0.01;
ft1=sin(2*pi*100*t1);
subplot(221);plot(t1,ft1,'linewidth',2);grid;
axis([-0.01 0.01 -1.1 1.1]);xlabel('姓名t(sec)');title('f(t)');
w=-200*pi:0.01:200*pi;
f1=0.01*ft1*exp(-j*t1'*w);
subplot(222);plot(w,abs(f1),'linewidth',2);grid;
xlabel('姓名\omega');title('|f(j\omega)|');
axis([-200*pi 200*pi -0.05 1.1]);
t2=-0.01:ts:0.01;
fst1=sin(2*pi*100*t2);
subplot(223);plot(t1,ft1,':');hold on
stem(t2,fst1);hold off;grid;
axis([-0.01 0.01 -1.2 1.2]);xlabel('姓名t(sec)');title('f_s(t)');
fsw1=ts*fst1*exp(-j*t2'*w);
subplot(224);plot(w,abs(fsw1),'linewidth',2);grid;
axis([-200*pi 200*pi -0.001 0.011]);
xlabel('姓名\omega');title('|f_s(\omega)|');第二个:clc
close all
clear all
ts=1/4000;
dt=0.0001;
t1=-0.01:dt:0.01;
ft2=sin(2*pi*200*t1);
subplot(221);plot(t1,ft2,'linewidth',2);grid;
axis([-0.01 0.01 -1.1 1.1]);xlabel('t(sec)');title('f(t)');
w=-200*pi:0.01:200*pi;
f2=0.01*ft2*exp(-j*t1'*w);
subplot(222);plot(w,abs(f2),'linewidth',2);grid;
xlabel('\omega');title('|f(j\omega)|');
axis([-200*pi 200*pi -0.05 0.21]);
t2=-0.01:ts:0.01;
fst2=sin(2*pi*200*t2);
subplot(223);plot(t1,ft2,':');hold on
stem(t2,fst2);hold off;grid;
axis([-0.01 0.01 -1.2 1.2]);xlabel('t(sec)');title('f_s(t)');
fsw2=ts*fst2*exp(-j*t2'*w);
subplot(224);plot(w,abs(fsw2),'linewidth',2);grid;
axis([-200*pi 200*pi -0.001 0.0021]);
xlabel('\omega');title('|f_s(\omega)|');
第三个:clc
close all
clear all
ts=1/4000;
dt=0.0001;
t1=-0.01:dt:0.01;
ft3=sin(2*pi*3800*t1);
subplot(221);plot(t1,ft3,'linewidth',2);grid;
axis([-0.01 0.01 -1.1 1.1]);xlabel('t(sec)');title('f(t)');
w=-200*pi:0.01:200*pi;
f3=0.0000263*ft3*exp(-j*t1'*w);
subplot(222);plot(w,abs(f3),'linewidth',2);grid;
xlabel('\omega');title('|f(j\omega)|');
axis([-200*pi 200*pi -0.0000005 0.000011]);
t2=-0.01:ts:0.01;
fst3=sin(2*pi*3800*t2);
subplot(223);plot(t1,ft3,':');hold on
stem(t2,fst3);hold off;grid;
axis([-0.01 0.01 -1.2 1.2]);xlabel('t(sec)');title('f_s(t)');
fsw=ts*fst3*exp(-j*t2'*w);
subplot(224);plot(w,abs(fsw),'linewidth',2);grid;
axis([-200*pi 200*pi -0.0001 0.0021]);
xlabel('\omega');title('|f_s(\omega)|'); 参考技术A 去csdn找下,或者程序员联合开发网,csdn的博客也可以找,下载那可以找相关资找找www.csdn.netwww.pudn.com 参考技术B 这个问题有点难
单片机怎样对交流电压电流取样
先把交流电压和电流的幅度通过运放、电阻网络等措施调整到单片机AD能够接受的范围内,然后用软件多点采样,一般16点以上每周波,再通过均方根计算,得到电压电流值。值得注意的是要同步,就是把电压信号或者电流信号的其中一路,用高速光耦连到单片机中断引脚,这样单片机就可以跟随着交流电的频率进行采样了,这样的效果会更加稳定准确。 参考技术A 用电流传感器取出电流信号经电阻改为电压信号,再经过ad采样,单片机处理后按系统要求比例经da输出你想要的电压。
0~50ma--->100欧电阻---》运放---》ad芯片---》mcu-----》d/a---》运放 参考技术B
降压到一定范围(根据AD芯片),
进行AD转换,
定时采集。
单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。从上世纪80年代,由当时的4位、8位单片机,发展到现在的300M的高速单片机。
以上是关于信号取样与取样定理matlab编程的主要内容,如果未能解决你的问题,请参考以下文章