1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > matlab计算截断误差 Matlab相位截断误差仿真解说.doc

matlab计算截断误差 Matlab相位截断误差仿真解说.doc

时间:2022-09-17 16:22:50

相关推荐

matlab计算截断误差 Matlab相位截断误差仿真解说.doc

Matlab仿真

误差频谱仿真:

N=14 M=4 l=8 k=1

程序:

clear;

Fs =1;%采样频率1MHz

M=4;%截取累加器的高M位;

N = 14;%累加器的位数;

l=8;

k=1;

K=2^l*(2*k+1);

L=2^(N-M-l);

pe= 100000;

n=1:pe;

pp=pe+1;%总的采样点数

add_y=(n*K)/2^N;

error=(round(n*(2*k+1))/L)/(2^M);

NFFT = 2^nextpow2(pp);%设定频谱分析点数

f = Fs/2*linspace(0,1,NFFT/2+1);% 只显示 0?Fs/2 的频率

rom_y=sin(2*pi*error);%有相位截断误差

Y = fft(rom_y,NFFT)/pp;% NFFT 点的 FFT 变换

value_Y = abs(Y(1:NFFT/2+1));% 求 FFT 变换值的绝对值

DB_Y = 20*log10(value_Y);% 求功率的分贝

plot(f,value_Y); %绘制频谱图,只有相位截断误差

axis([0 1 0 0.5]);

N=14 M=4 l=7 k=4

程序:

clear;

Fs =1;%采样频率1MHz

M=4;%截取累加器的高M位;

N=14;%累加器的位数;

l=7;

k=4;

K=2^l*(2*k+1);%频率控制字

L=2^(N-M-l);

pe= 100000;

n=1:pe;

pp=pe+1;%总的采样点数

add_y=(n*K)/2^N;

error=(round(n*(2*k+1))/L)/(2^M);

NFFT = 2^nextpow2(pp);%设定频谱分析点数

f = Fs/2*linspace(0,1,NFFT/2+1);% 只显示 0?Fs/2 的频率

rom_y=sin(2*pi*error);%有相位截断误差

Y = fft(rom_y,NFFT)/pp;% NFFT 点的 FFT 变换

value_Y = abs(Y(1:NFFT/2+1));% 求 FFT 变换值的绝对值

DB_Y = 20*log10(value_Y);% 求功率的分贝

plot(f,value_Y); %绘制频谱图,只有相位截断误差

axis([0 1 0 0.5]);%包括坐标轴范围,axis([xmin xmax ymin ymax])

N=14 M=4 l=9 k=0

程序:

clear;

Fs =1;%采样频率1MHz

M=4;%截取累加器的高M位;

N = 14;%累加器的位数;

l=9;

k=0;%频率控制字,即累加的步长;

K=2^l*(2*k+1);

L=2^(N-M-l);

m=1:L-1

pe= 100000;

n=1:pe;

pp=pe+1;%总的采样点数

error=(2*m*pi)/2^(N-l);

NFFT = 2^nextpow2(pp);%设定频谱分析点数

f = Fs/2*linspace(0,1,NFFT/2+1);% 只显示 0?Fs/2 的频率

rom_y=sin(2*pi*error);%有相位截断误差

Y = fft(rom_y,NFFT)/pp;% NFFT 点的 FFT 变换

value_Y = abs(Y(1:NFFT/2+1));% 求 FFT 变换值的绝对值

DB_Y = 20*log10(value_Y);% 求功率的分贝

plot(f,value_Y); %绘制频谱图 没有幅度量化误差,只有相位截断误差

axis([0 1 0 0.5]);

N=14 M=5 l=10 k=0

程序:

clear;

Fs =1;%采样频率1MHz

M=5;%截取累加器的高M位;

N = 14;%累加器的位数;

l=10;

k=0;%频率控制字,即累加的步长;

K=2^l*(2*k+1);

L=2^(N-M-l);

pe= 100000;

n=1:pe;

pp=pe+1;%总的采样点数

add_y=(n*K)/2^N;

NFFT = 2^nextpow2(pp);%设定频谱分析点数

f = Fs/2*linspace(0,1,NFFT/2+1);% 只显示 0?Fs/2 的频率

rom_y=sin(2*pi*add_y);%有相位截断误差

Y = fft(rom_y,NFFT)/pp;% NFFT 点的 FFT 变换

value_Y = abs(Y(1:NFFT/2+1));% 求 FFT 变换值的绝对值

DB_Y = 20*log10(value_Y);% 求功率的分贝

plot(f,value_Y); %绘制频谱图

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。