好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

谐波分析C语言程序.docx

6页
  • 卖家[上传人]:汽***
  • 文档编号:411340441
  • 上传时间:2023-01-31
  • 文档格式:DOCX
  • 文档大小:45.14KB
  • / 6 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 谐波分析1) 作业要求编程求出图一所示波形的最大值、平均值、有效值、求出1〜8次谐波的幅值 和频率图一被分析波形b = j Tf (t) sin(nQt )dt, n=1,2,...n T o(1)(2)(3)(4)2) 解题思路、拟定方法、使用工具软件描述解题思路:上图为周期20ms的正弦波,该波形为奇函数af (t) = o + a cos(Qt) + a cos(2Qt) +... + b sin(Qt) + b sin(Qt) +... 2 1 2 1 2=+》a cos(nQt) + 区 b sin(nQt)2 n nn=1 n=12=jT f (t)cos(nQt)dt, n=0,1,2,…T o2因为f (t)为奇函数,故a =0nf (t) = S b sin( nQt)nn=1故要求得f (t)的1~8次谐波可分为两个步骤:其一,求b的值;其二,求nf (t) = S b sin(n0t)nn =1拟定方法:先构造上述函数,取一个周期分成1000等份每个等份对应一 个数值,在对这些数值进行一定的运算后便可求得最大值、平均值、有效值和 1~8次谐波的幅值和频率使用工具软件描述:用c语言软件求得最大值、平均值、有效值和1〜8次 谐波的幅值和频率,并显示出来。

      3) 子函数描述 f(t)函数:f (t)为所要构建的周期性方波信号波形,在第一个周期内(0 < t < 20 )当2.5 < t < 7.5 时 f (t) =100,当 12.5 < t < 17.5 时 f (t) =-100,其余时刻 f (t) =0 再通过一个整除函数进行周期延拓f(t){double i;if(t>=0.0025 &&t<=0.0075)i=100.0;else if(t>=0.0125&&t<=0.0175)i=-100.0;elsei=0.0;return(i);}jf(a, b)函数:jf(a, b)函数为求f (t)有效值,设a,b为一个周期的起点和终点有效值=I f (t)2dtTjf(a, b){int j,n=1000;double i; double h;h=(b-a)/1000; i=(f(a)*f(a)+f(b)*f(b))*h/2;for(j=1;j-0.2)i=0; return(fabs(i)); }max=f(a+ iXh)图二求最大值流程图4)实验报告的结论、分析、说明瞇 C:\Wi n dows\syste m 3 2\cmd. exe频率为1酮,硕率力丄50频率为加0频率为聊0,^71359频率为锢07 I 7 -5 2 ■ 10801070■ G ■ K? ■ IS ■ _M- _M - ? - 8 - 2 - 90201010 斗丿.斗..... 耳I .•斗.....^i—...- 直直直直 肖+012|+01| 直 - co _ggT-Ta-Ta-pg^-TS-Ti-^- 7皮皮皮皮皮皮皮皮4拦 弋和贰氏1 A1;<£枝氏1 A詆 犬爲1?2?、3 1、対汗咼升、81"尼 最zz匚」、号」=udL、E、uy= LIerE按M-最大值100V平均值0V有效值70.78V实验结果谐波次数幅值/V实验频率/HZ理论幅值190.175090.03201000329.8715030.01402000518.1525018.00603000712.7235012.86804000理论分析n=1,2…(5)(6)n=1,2…(7)n频率f = = 50nnT将波形函数代入式(3)可得幅值=-2t° 予?Sm皿)dt+2t° V?Sin(nQt )dt0.0025 0.01257 100 / n兀 3n兀 5n兀 7n兀、b = (cos - cos - cos + cos ) n nK 4 4 4 4即可求的理论幅值如上表设计者:肖正2012.11.01附件#include#include main(){double jf(double x,double y);double jf1(double x,double y,int k); int n=1000,k=0;double f(double t);double a=0.0,b=0.02,h,j,max,sum,m;double value,ave,d; //求最大值 max=f(a);h=(b-a)/2000.0; for(j=0;j<=n;j++){if(f(a+j*h)>max) max=f(a+j*h);}printf(” 信号最大值为 %.2f\n",max); //求平均值 sum=(f(a)+f(b))*h/2; for(j=1;j=0.0025&&t<=0.0075)i=100.0;else if(t>=0.0125&&t<=0.0175)i=-100.0;elsei=0.0;return(i);}double jf(double a,double b){int j,n=1000;double i=0,k=0;double h;h=(b-a)/(double)n; i=(f(a)*f(a)+f(b)*f(b))*h/2.0;for(j=1;j-0.2)i=0;return(fabs(i));}。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.