作业帮 > 综合 > 作业

【Matlab的图形绘制和频谱计算】+和+【基本信号的表达式】

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/09 02:03:41
【Matlab的图形绘制和频谱计算】+和+【基本信号的表达式】
课程设计要求如下:
在matlab环境下实现基本信号的图形绘制和频谱计算,基本信号包括:正弦信号(sin)、余弦信号(cos)、冲击函数(Diric)、锯齿波或三角波(sawtooth)、方波(square)、sinc函数等、指数函数、矩形脉冲、阶跃信号.
问题如下:
1:在matlab环境下实现基本信号的图形绘制和频谱计算,应该怎么做?过程复杂?有木有相关的文献参考?
2:以下信号的表达式,在信号与系统中分别是怎么写的?正弦信号(sin)、余弦信号(cos)、冲击函数(Diric)、锯齿波或三角波(sawtooth)、方波(square)、sinc函数等、指数函数、矩形脉冲、阶跃信号.
以上问题重点回答问题1,不行的话回答问题2也行.谢谢大家~
matlab只能做离散数值计算(符号计算只是小部分),所以绘制上述信号图形必须抽样离散化(指定时长,抽样频率等),时域图形可逐点画出,频域要做离散FFT后画出.
根据那奎斯特抽样定理,抽样频率要高于信号中最高频率的两倍,才不会失真,因此频谱中(fs/2,fs)为无用谱,故频域信号的定义域向量与值域向量都应该做减半处理
 
以sin(x)为例:
clear all;   %
N=1024;      %信号的抽样点数
fs=10;       %抽样频率,高于信号中最高频率的2倍
t=(0:N-1)/fs;     
f=(0:N-1)*fs/N;   
x=sin(2*pi.*t); %待处理信号sin(x)=sin(2πft),f=1hz
y=abs(fft(x));     %FFT后求模
f=f(1:N/2);      %减半
y=y(1:N/2);      %减半
subplot(2,1,1)   %画图
plot(t(1:2*fs),x(1:2*fs)); %只画2个周期
subplot(2,1,2)   %画图
plot(f,y);

再问: 你能不能帮我个忙?帮多少算多少。求下列信号的频谱图,以及代码:1、单位冲击信号 2、方波信号 3、指数信号 4 、单位阶跃信号。【PS】你只要做出两个,这个问题最佳答案给你。做出四个,额外追加最高悬赏! 救人一命,胜造七级浮屠。希望大家施以援手!!
再答: 自己看吧,但愿你能理解,而不是COPY完事-------------------------------------------------------clear;
close all;
N=50;
t=1:N;x=zeros(1,50);
x(1)=1; %单位冲击
figure;
subplot(2,1,1);
stem(x);
X=fft(x);
magX=abs(X); 
subplot(2,1,2);
plot(t(1:N/2),magX(1:N/2));N=1024;      %信号的抽样点数
fs=100;       %抽样频率,高于信号中最高频率的2倍
t=(0:N-1)/fs;     
f=(0:N-1)*fs/N;   x0=sign(t); %阶跃
x1=sign(sign(8-t)+1);   %单个方波,宽度为8个采样周期
x2=square(2*pi*5*t,50);  %周期方波,5Hz,50%占空比
x3=exp(-t.^2);y0=abs(fft(x0));     %FFT后求模
figure;
subplot(2,1,1)
plot(t,x0); 
subplot(2,1,2)
plot(f,y0);
y1=abs(fft(x1));     %FFT后求模
figure;
subplot(2,1,1)   
plot(t,x1); 
subplot(2,1,2)   
plot(f,y1);y2=abs(fft(x2));
figure;
subplot(2,1,1)   
plot(t,x2); 
subplot(2,1,2)   
plot(f,y2);y3=abs(fft(x3));   
figure;
subplot(2,1,1) 
plot(t,x3); 
subplot(2,1,2) 
plot(f,y3);