用MATLAB做周期三角波的傅里叶级数,Matlab 周期方波信号傅里叶级数展开

方波信号为:

6ab5f70956805a875af88bb6e8ef4d68.png

傅里叶级数展开为:

5b5bf89236fb0c42ae6f2b0ace3c03ad.gif

程序运行结果:

2519473c567cd8d744d2d4c037497e11.png

程序代码:

clear

x = -6:0.01:6;

T = 4;

f = x;

for N = 1:length(f)

temp = rem(abs(x(N)),T);

if temp>1 && temp<3

f(N) = 0;

else

f(N) = 1;

end

end

% f(x) = 1/2 + sum(g(k,x)) (k=1,2,3,4......)

% g(k,x) = sinc(k/2)*cos(k*pi/2*x)

% MATLAB build-in function: sinc(x) = sin(x*pi)/(x*pi)

count = 9;

y = zeros(count, length(x));

for N = 1:count

k = 2*N-1;

if N==1

y(N,:) = 0.5 + sinc(k/2)*cos(k*pi/2*x);

else

y(N,:) = y(N-1,:) + sinc(k/2)*cos(k*pi/2*x);

end

end

row = ceil(sqrt(count));

colomn = ceil(count/row);

for N=1:count

subplot(row,colomn,N);

plot(x,f,'k');

hold on

h = plot(x,y(N,:),'r');

title(strcat(num2str(2*N-1),' harmonic'));

end

ROM存储1&sol;4周期正弦信号构造DDS

上周的时候,老师让编写一个简单的dds程序,本文说明了整个过程中我遇到问题以及一些个人的思考.初次接触FPGA,如有问题请多多指教~ 1.几个疑问,解决和没有解决的. 为何采用ROM而不是直接采用DD ...

&lbrack;转&rsqb; Matlab中给信号加高斯白噪声的方法

MATLAB中产生高斯白噪声非常方便,可以直接应用两个函数,一个是WGN,另一个是AWGN.WGN用于产生高斯白噪声,AWGN则用于在某一信号中加入高斯白噪声. 1. WGN:产生高斯白噪声 y = ...

【MATLAB】画信号频谱的子函数

输入信号序列和采样率,该子函数可以画出该信号的频谱图. function [f,spec,NFFT]=spec_fft_plot(sample,L,Fs) % 输入数据说明: % sample:信号序 ...

MATLAB信号与系统分析(五)&mdash&semi;&mdash&semi;连续时间信号的频谱分析

一.实验目的: 1.掌握傅立叶级数(FS),学会分析连续时间周期信号的频谱分析及MATLAB实现: 2.掌握傅立叶变换(FT),了解傅立叶变换的性质以及MATLAB实现. 二.利用符号运算求傅里叶级数 ...

MATLAB信号与系统分析(一)&mdash&semi;&mdash&semi;连续时间信号与系统的时域分析

一.连续时间信号的表示: 1.向量表示法: 在MATLAB中,是用连续信号在等时间间隔点的样值来近似表示连续信号,当取样时间间隔足够小时,这些离散的样值就能较好地近似出连续信号. 对于连续时间信号f( ...

MATLAB信号与系统分析(二)&mdash&semi;&mdash&semi;离散时间信号与系统的时域分析

一.离散信号的表示 1.一个离散信号需要用两个向量来表示: (1)离散信号的幅值 (2)离散信号的位置信息 2.用MATLAB实现离散信号的可视化 (1)不能利用符号运算来表示 (2)绘制离散信号一般 ...

Linux系统编程(24)——信号的生命周期

信号生命周期为从信号发送到信号处理函数的执行完毕. 对于一个完整的信号生命周期(从信号发送到相应的处理函数执行完毕)来说,可以分为三个重要的阶段,这三个阶段由四个重要事件来刻画:信号诞生:信号在进程中 ...

信号与系统实验序章0——MATLAB基础命令入门

本次开启新的系列,关于用Matlab实现常见信号和函数的生成和变换. 同时如果没有MATLAB基础,那么可以跟着本文一步一步学习Matlab的相关操作,本文旨在记录在信号与系统课程中MATLAB的学习 ...

MATLAB基本使用及SIMULINK建模仿真实验

MATLAB基本使用及SIMULINK建模仿真实验 这是我总结的操作方法: 1 )  M脚本文件的编写 1.新建M-file: 2.输入指令: 3.保存(注意:保存路径需要与工作路径一致) 2 )在S ...

随机推荐

Instruments&lowbar;Activity Monitor使用入门

Activity Monitor,官方解释为:(活动监视器)即实时显示CPU.内存和网络的使用情况,记录由虚拟内存大小测量的系统负载.用一句大白话来说,Activity Monitor类似Window ...

Add Digits

Given a non-negative integer num, repeatedly add all its digits until the result has only one digit. ...

Linux TOP命令详解

先来看一下执行以后的结果: 各项数值的含义如下: 第一行是任务队列信息. :: 当前时间 up days,: 系统运行时间,格式为天,时:分 user 当前登录用户数 load average: 0. ...

合并傻子&sol;&sol;区间dp

P1062 合并傻子 时间: 1000ms / 空间: 131072KiB / Java类名: Main 背景 从前有一堆傻子,钟某人要合并他们~但是,合并傻子是要掉RP的...... 描述 在一个园 ...

careercup-排序和查找 11&period;1

11.1 给定两个排序后的数组A和B,其中A的末端有足够的缓冲空间容纳B.编写一个方法,将B合并入A并排序. 解法: 已知数组A末端有足够的缓冲,不需要再分配额外空间.程序的处理逻辑很简单,就是逐一比 ...

设计模式六大原则——迪米特法则(LoD)

1.背景 在图书馆借书.刚開始的时候,直接跑到对应的楼层去,到里面去转,去找要借的书,在里面溜达半天才干找到:后来知道图书馆有一个电脑查询处.然后直接在电脑上输入想要借的书,电脑就会显示你想要借的书的 ...

2&period;bootstrap-全局css

1.Bootstrap 网格系统 Bootstrap 提供了一套响应式.移动设备优先的流式网格系统,随着屏幕或视口(viewport)尺寸的增加,系统会自动分为最多12列. 1.基本的网格结构 下面是 ...

MongoDB 组合多个条件查询(&dollar;and、&dollar;in、&dollar;gte、&dollar;lte)

一,问题描述 数据格式: id, timeStamp,count 条件1:查询 某个时间段 内的数据: timeStamp BETWEEN startTime AND endTime.比如 timeS ...

派生 de rive

''' de rive 派生 python2 (经典类|新式类) python3 (新式类) 1. What is derive? 什么是派生? 派生:子类定义自己新的属性,如果与父类同名,以子类自己 ...

POJ 2502 Subway &sol; NBUT 1440 Subway &sol; SCU 2186 Subway(图论,最短距离)

POJ 2502 Subway / NBUT 1440 Subway / SCU 2186 Subway(图论,最短距离) Description You have just moved from a ...

参与评论 您还未登录,请先 登录 后发表或查看评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:游动-白 设计师:我叫白小胖 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值