?? unit1.cpp
字號:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "stdio.h"
#include "math.h"
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
if(OpenDialog1->Execute())
Edit1->Text=OpenDialog1->FileName;
else
{
ShowMessage("無法打開");
return;
}
FILE * fp;
fp=fopen(Edit1->Text.c_str(),"rb");
int num=163840;
short int *x=new short int[163840];
//fseek(fp,1,0);
fread(x,sizeof(short int),num,fp);
fclose(fp);
Series1->Clear();
Series2->Clear();
Series3->Clear();
for(int i=0;i<10240;i++) //疏散點顯示波形
{
Series1->AddXY(i,x[i],"",clRed);
}
int FS=8000;
int N=1024;
int f=177;
float PHASE0=2*3.1415926*f/FS;
float PHASEPRE;
float PHASECUR;
float ykr=0;
float yki=0;
float Y;
for(int i=0;i<N;i++)
{
PHASEPRE=PHASE0*i;
ykr=ykr+x[i]*cos(PHASEPRE);
yki=yki+x[i]*sin(PHASEPRE);
}
for(int i=0;i<10240;i++)
{
Y=ykr*ykr+yki*yki;
Series2->AddXY(i,ykr/100,"",clRed);
Series3->AddXY(i,yki/100,"",clRed);
PHASEPRE=PHASE0*i;
PHASECUR=PHASE0*(i+N);
ykr=ykr+x[i+N]*cos(PHASECUR)-x[i]*cos(PHASEPRE);
yki=yki+x[i+N]*sin(PHASECUR)-x[i]*sin(PHASEPRE);
}
/*
f=266;
PHASE0=2*3.1415926*f/FS;
ykr=0;
yki=0;
for(int i=0;i<N;i++)
{
PHASEPRE=PHASE0*i;
ykr=ykr+x[i]*cos(PHASEPRE);
yki=yki+x[i]*sin(PHASEPRE);
}
for(int i=0;i<10240;i++)
{
Y=ykr*ykr+yki*yki;
Series3->AddXY(i,Y,"",clRed);
PHASEPRE=PHASE0*i;
PHASECUR=PHASE0*(i+N);
ykr=ykr+x[i+N]*cos(PHASECUR)-x[i]*cos(PHASEPRE);
yki=yki+x[i+N]*sin(PHASECUR)-x[i]*sin(PHASEPRE);
} */
delete x;
fclose(fp);
}
//---------------------------------------------------------------------------
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -