查看: 714|回复: 0

计算尖顶余弦脉冲的谐波分量----使用编程的方法

[复制链接]

该用户从未签到

发表于 2018-10-25 17:52:16 | 显示全部楼层 |阅读模式
分享到:
我最近在做高频功率放大器的实验,在理解实验原理的时候,想计算出尖顶余弦脉冲的个次谐波分量的幅度。一开始我想通过手算,发现计算傅里叶变换比较困难,然后想到用matlab算,上网查查发现matlab语句理解着也挺麻烦,于是我就想既然matlab能计算,为什么我不能通过编程计算呢?然后我想到可以用微元法来计算积分,更加感觉可以通过编程解救这个问题。我把尖顶余弦脉冲信号的周期分成1000个时间段,根据周期信号的傅里叶变换公式计算出每个时间段的值,累加后就可以得出某次谐波分量的系数,多次计算就可以得出各次谐波分量的振幅。下面是用来计算的vc程序

#define PI 3.1415926

#include <stdio.h>
#include <math.h>
void main(void)
{
        float d, ft[1000];                //一个周期划分为1000个小时间段
        float dt_div_T;                        //dt/T
        float w_mul_t[1000];                //w*t
        int i, j, n;
        float v_start;                        //
        float Fn[100];                        //计算到99次谐波

        printf("输入尖顶余弦脉冲开始的弧度,假如尖顶余弦脉冲的弧度范围是正负Π/4,\r\n就输入0.25,请输入: ");
        scanf("%f", &d);
        printf("输入的弧度是 %fΠ\r\n", d);

        //        T/1000 = dt, dt/T = 1/1000
        dt_div_T = 1.0/1000;
       
        for(i=0; i<1000; i++)
        {
                w_mul_t[i] = (0 - d + (i*2.0/1000)) * PI;
        }

        for(i=0; i<1000; i++)
        {
                ft[i] = 0;
        }

        for(i=0; i<100; i++)
        {
                Fn[i] = 0;
        }

        v_start = sin(d * PI);
        printf("尖顶余弦脉冲的峰值是 %f\r\n", 1 - v_start);
        for(i=0; i<1000; i++)
        {
                ft[i] = sin((d + (i*2.0/1000)) * PI) - v_start;
                if(ft[i] < 0)
                        ft[i] = 0;
        }
       

        for(n=0; n<100; n++)
        {
                for(j=0; j<1000; j++)
                {
                        Fn[n] += ft[j] * cos(0 - n*w_mul_t[j]) * dt_div_T;
                }
        }
       
        printf("基波分量的振幅\t%f\r\n", Fn[0]);
        for(n=1; n<100; n++)
        {
                printf("%d次谐波分量的振幅\t%f\r\n", n, Fn[n]>0 ? Fn[n] : (0-Fn[n]));
        }
       
        getch();
}
回复

举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 3/4 下一条

【¥150积分】2025英飞凌创新大会—分论坛机器人:智驭未来
大会会在深圳和北京巡回进行,上午是主论坛,下午将有多个分论坛同步进行,本次活动我们将会聚焦下午分论坛的机器人主题,聚焦英飞凌如何助力机器人高速发展、氮化镓解决方案在机器人中的应用、MCU驱动机器人的进化之路等等精彩主题分享,此外还有茶歇和幸运抽奖。

查看 »



手机版|小黑屋|与非网

GMT+8, 2025-3-12 16:00 , Processed in 0.109319 second(s), 15 queries , MemCache On.

ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

苏公网安备 32059002001037号

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.