收藏 分销(赏)

Matlab方波频谱分析专业课程设计方案报告.doc

上传人:精*** 文档编号:2727261 上传时间:2024-06-05 格式:DOC 页数:11 大小:195.04KB 下载积分:8 金币
下载 相关 举报
Matlab方波频谱分析专业课程设计方案报告.doc_第1页
第1页 / 共11页
Matlab方波频谱分析专业课程设计方案报告.doc_第2页
第2页 / 共11页


点击查看更多>>
资源描述
通信系统建模和仿真课程设计 级 通信工程 专业 1013072 班级 题 目 基于Matlab/Simulink信号频谱估量 姓 名 学号 指导老师 胡娟,王丹,王娜,闫利超 6月14日 1 任务书 (1) 用Matlab编程方法产生一个100Hz方波,画出其波形。并用fft指令计算其频谱,做出幅度谱和相位谱,和理论结果进行对比。 (2) 用Simulink方法重做上题,并经过统计模块在时域和频域同时计算信号功率,看二者计算结果是否一致,验证帕萨瓦尔定理。 2 理论分析 方波一个周期可用 依据周期信号傅里叶级数系数定义,有 所以,方波信号傅里叶级数展开式为 依据周期信号傅里叶级数同傅里叶变换之间关系: 可知,方波信号傅里叶变换是 显然,当n为偶数时,,所以方波信号中只存在奇次谐波,其功率谱为 化为以频率为自变量表示功率密度谱,得到 可见,方波在几次谐波处存在冲激谱线,其功率谱谱线冲激强度为数列,n取奇数,C为常数。 离散时间信号帕斯瓦尔定理:对于N点离散序列及其离散傅里叶变换,其时域能量等于频域能量,即 时域和频域平均功率关系为 其中,T为采样时间间隔;N为离散时间序列点数;为离散时间序列时间长度。 3 Matlab代码详述 clear; clc; fs=1e6; t1=0:1/fs:0.1; %计算时间范围 ft=square(2*pi*100*t1,50); subplot(3,1,1);plot(t1,ft); %时域波形 axis([0 0.1 -1.2 1.2]); T1=0.01; %信号周期 w1=2*pi/T1; %信号角频率 n=-59:2:59; %奇次谐波数 W=w1.*n; %数字角频率 F_w=-4*j./n; %频谱理论结果 subplot(3,1,2); stem(W,abs(F_w)); %频域幅度谱 hold on; w_m=3e4; %截断频率 T=pi/w_m; %采样间隔 L=5.9; t=0:T:L; %时域截断 x_t=square(2*pi*100*t,50); %信号序列 N=length(x_t); %序列长度(点数) X_k=fft(x_t); %FFT计算 w0=2*pi/(N*T); %离散频率间隔 kw=2*pi/(N*T).*[0:N-1]; %离散频率样点 X_kw=T.*X_k; %乘以T得到连续傅里叶变换频谱样值 plot(kw-w_m,abs(fftshift(X_kw)),'.','MarkerSize',10); %做出数值计算幅度谱点 subplot(3,1,3); stem(W,angle(F_w)); %频域相位谱 hold on; plot(kw-w_m,angle(fftshift(X_kw))); %做出数值计算相位谱点 4 SIMULINK各模块说明 因为Simulink中FFT模块只接收2整数幂次点数数据,故设计变换数据采样率为2048样值/秒。FFT变换数据长度到2048,对应时间长度为1秒。所以,频率分辨率为1Hz。由式 确定功率谱估量值。其中秒,N=2048。依据教材式(3.34)确定频域、时域平均功率,即 图1为测试模型。其中,仿真步长为固定1/2048秒。各个参数设置以下: Zero-Order Hold采样得到离散时间信号方便进行离散傅里叶变换,设置采样时间间隔也为1/2048秒。Buffer模块设置缓存长度为2048,刚好能缓存1秒数据。采取FFT模块进行快速傅里叶变换,变换点数取决于数据帧长度。以Abs模块、乘法器模块、Mean平均模块和增益模块等实现对频域、时域平均功率计算。Display模块显示时域功率计算结果,Display1模块显示时域功率计算结果,显然二者应该相同,为1W(幅度为1V方波理论计算功率为1W)。用Vector Scope观察功率谱,同时用示波器观察时域波形。模型图以下所表示: 5 仿真结果分析 编程输出结果图1所表示,时域仿真时间0.1s,不过该信号时域是无限长,所以其频谱也是无限宽。经理论公式计算画图显示后发觉,当频率大于30000Hz后,幅度谱值靠近于零。所以做FFT变换时选择频域截断区为30000Hz。 图1 编程仿真结果 图2 Simulink仿真输出方波时域波形 图3 Simulink仿真输出幅度谱 图4 Simulink仿真输出功率谱 6 碰到问题及处理方法 在产生方波公式时,一直无从下手。数学表示式很简单,可是无法在matlab脚本文件编程正确实现。总有不尽人意地方。以后改用matlab程序库函数square函数输出方波,以前没用过这个函数,又查了查这个函数使用方法,和它内容和数学公式差异,收获挺大。在计算连续周期函数方波频谱时,碰到了一系列问题。因为方波是由函数输出,所以在理论计算时显然用不到。所以改用方波数学表示式来计算频谱。其中应用到了《信号和系统(上)》相关章节,因为这门课是去年修完,记忆不太完整,所以又翻了翻这本书,查找了相关知识,从而正确计算出了计算方波频谱数学表示式。在写程序时发觉数学表示式和程序表示还是有差异,又认真学习了程序表示,最终写出相对简单轻易了解理论编程程序。对于理论和实践收获还是相当大。 7 结束语 结本文介绍了基于MATLAB/Simulink信号频谱估量和使用MATLAB/ .M文件、 Simulink对其进行仿真基础方法。经过在MATLAB 中编程能够实现对信号进行fft变换并计算其频谱分析, 而在MATLAB Simulink 环境中能够经过构建可视化系统进行动态仿真, 得到较为直观试验结果, 使得对调制系统分析变得十分便捷,在原有基础上,愈加深了对信号进行fft变换并计算其频谱分析了解。 8 指导老师评语 指导老师: 成绩:
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服