数字信号处理MATLAB仿真
发布时间
阅读量:
阅读量
一、利用采样定理分别确定以下两种时间长度为 10ms 的信号。
1)谐波叠加信号,信号频率分别为 10KHz 和 20KHz,

- 线性调频信号,频带范围为 10-20KHz ,
,的最低采样频率。仿真给出采样信号的时域波形并给出频谱(真实频率为坐标)。请尝试其他采样频率给出仿真结果,并对结果进行分析
%-------------------------------------版本VIP.4--------------------------%%
%---------------------------------更新日期2021.10.27---------------------%%
f1 = 10000; %信号频率
f2 = 20000;
ts = 0.00001; %时间间隔
t = 0:ts:0.01 - ts; %定义信号的时间范围
fs = 1/ts; %抽样频率
df = fs/length(t);
x = cos(2*pi*f1*t)+cos(2*pi*f2*t); %生成信号
xf = fft(x);
xF = abs(xf/length(t))*2;
XF = fftshift(xF);
figure(1)
subplot(2,1,1);
plot(t*1000,x);
title('原始信号')
xlabel('时间(毫秒)')
grid on;
subplot(2,1,2)
plot((-fs/2 : df : fs/2 - df),XF)
title('原始信号频谱')
xlabel('频率(Hz)')
grid on;
fs = 31000; %采样频率
dt = 1/fs; %采样间隔
t = 0: dt: 0.01 - dt; %定义信号的时间范围
N = length(t); %定义采样点数
df = fs/length(t);
x = cos(2*pi*f1*t)+cos(2*pi*f2*t); %生成信号
X = fft(x); %FFT
X1 = abs(X/N)*2;
Xa = fftshift(X1);
figure(2)
plot((-fs/2 : df : fs/2 - df),Xa);
title('采样后的频谱')
xlabel('频率(Hz)')
grid on;
代码解读
%-------------------------------------版本VIP.4-------------------------%%
%---------------------------------更新日期2021.10.27--------------------%%
f0 = 10000;
M = 1e6;
dt = 0.00001;
t = (0:dt:0.01-dt); %定义信号的时间范围
fs = 1/dt;
x = cos(2*pi*(f0*t+0.5*M*t.^2)); %生成信号
xa = fft(x);
Xa = fftshift(abs(xa/length(t))*2);
figure(1)
subplot(2,1,1)
plot(t*1000,x)
title('原始信号')
xlabel('时间(毫秒)')
grid on
subplot(2,1,2)
plot(-fs/2 : fs/length(t) : fs/2 - fs/length(t),Xa)
title('原始信号频谱')
xlabel('频率(Hz)')
grid on
fs = 22000; %采样频率
dt = 1/fs; %采样间隔
t = 0: dt: 0.01 - dt; %定义信号的时间范围
N = length(t); %定义采样点数
df = fs/length(t);
x1 = cos(2*pi*(f0*t+0.5*M*t.^2)); %生成信号
X = fft(x1); %FFT
X1 = abs(X/N)*2;
Xa = fftshift(X1);
figure(2)
plot((-fs/2 : df : fs/2 -df),Xa);
title('采样后信号频谱')
xlabel('频率(Hz)')
grid on
代码解读
其中,线性调频信号参数M需要计算,


通过理论分析,冲激应在1KHz和2KHz处,采样频率要大于4KHz.
设置采样频率,图中此时采样频率为31000Hz,不满足奈奎斯特采样定理 。

使用带通采样。
全部评论 (0)
还没有任何评论哟~
