📄 adconb.m
字号:
% A/D Converter Spectrum
% -----------------------
clear;clf;clc;
% Set Input Parameters
N=2048; % Sample Points
f=80; % Hz
b=[3 5]; % Quantizing Bits
% Define Time Vector
t=(10/f)*(1:N)/N;
for k=1:2;
% Define Input Signals
Em=2^b(k);
xn=(Em/2)*sin(2*pi*f*t);
% Quantize Signal - Mid-point Quantizer
qn=(2*floor(xn-1e-6)+1)/Em;
if xn<0;qn=(2*floor(xn+1e-6)+1)/Em;end;
qn=qn/max(qn);
% Store Quantized Signal
xx(:,k)=qn';
% Find Quantized Signal Spectrum
X=fft(qn,N);
X=fftshift(X);
Pxx=X.*conj(X);
Pxx=Pxx/max(Pxx);
Pz=10*log10(Pxx+1e-6);
% Store Quantized Signal Spectrum
yy(:,k)=Pz';
end;
% Plot Quantized Signal
subplot(221);
plot(t,xx(:,1));grid;
axis([0 .04 -1.25 1.25]);
xlabel('Time - sec');
ylabel('Voltage');
title(['Quantized Sine Wave (3 bits)']);
% Plot Quantized Signal Spectrums
fx=(f/10)*(-N/2:N/2-1);
subplot(223);
plot(fx,yy(:,1));grid;
axis([0 2500 -60 0]);
xlabel('Frequency - Hz');
ylabel('Power - db');
title(['Quantize Signal Spectrum (3 bits)']);
subplot(222);
plot(fx,yy(:,2));grid;
axis([0 2500 -60 0]);
xlabel('Frequency - Hz');
ylabel('Power - db');
title(['Quantized Signal Spectrum (5 bits)']);
% Find Two Tone Signal Spectrum
Em=2^b(2);
f1=80;f2=200; % Hz
xn=(Em/4)*(sin(2*pi*f1*t)+sin(2*pi*f2*t));
qn=(2*floor(xn-1e-6)+1)/Em;
if xn<0;qn=(2*floor(xn-1e-6)+1)/Em;end;
qn=qn/max(qn);
X=fft(qn,N);X=fftshift(X);
Pxx=X.*conj(X);
Pxx=Pxx/max(Pxx);
Pz=10*log10(Pxx+1e-6);
subplot(224);
plot(fx,Pz);grid;
axis([0 2500 -60 0]);
xlabel('Frequency - Hz');
ylabel('Power - db');
title(['Two Tone Power Spectrum (5 bits)']);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -