资源简介
算法主要针对桥梁拉索索力频谱法测试应用
1、调用FFT进行快速傅里叶变换;
2、获取变换后峰值;
3、通过峰值和设计基频比较,取得最接近这几基频的结果
代码片段和文件信息
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.InteropServices;
namespace CableSlover.BasisClass
{
public class CSuoliSlover
{
///
/// 快速傅立叶变换
///
/// 当l=0时,存放n个采样输入的实部,返回离散傅里叶变换的模;当l=1时,存放傅里叶变换的n个实部,返回逆傅里叶变换的模
/// 当l=0时,存放n个采样输入的虚部,返回离散傅里叶变换的幅角;当l=1时,存放傅里叶变换的n个虚部,返回逆傅里叶变换的幅角;幅角的单位为度
/// 采样点数
/// 满足n=2的k次方
/// 当l=0时返回傅里叶变换的n个实部;当l=1时返回逆傅里叶变换的n个实部
/// 当l=0时返回傅里叶变换的n个虚部;当l=1时返回逆傅里叶变换的n个虚部
/// 当l=0表示要求本函数进行傅里叶变换计算;当l=1表示要求本函数进行逆傅里叶变换计算
/// 当il=0时表示不要求本函数计算傅里叶变换或者逆傅里叶变换的模与幅角;当il=1时表示要求本函数计算傅里叶变换或者逆傅里叶变换的模与幅角
[DllImport(“FFT.dll“ EntryPoint = “kfft“ CharSet = CharSet.Auto CallingConvention = CallingConvention.Cdecl SetLastError = true)]
public static extern void kfft(double[] pr double[] pi int n int k double[] fr double[] fi int l int il);
///
/// 归一化
///
/// 原始数据
public static void Normalized(double[] DatOri)
{
int n = DatOri.Length;
int i;
double t = 0.0;
for (i = 0; i < n; i++)
{
t += DatOri[i] * DatOri[i];
}
t = Math.Sqrt(t);
for (i = 0; i < n; i++)
{
DatOri[i] = DatOri[i] / t;
}
}
///
/// 获取峰值假设峰值个数PN>n
///
/// 为待分析的数组
/// 峰值所在位置数组
/// 峰值数组
/// Data数组大小
/// peak数组的大小
public static void PeakValue(double[] Data double[] peak double[] Out int m int n)
{
int PN = 0;
double m_Min = Data[0];
double[] In = new double[m + 2];
int[] Flag = new int[m];
In[0] = Data[0] - 1;
for (int k = 0; k < m; k++)
{
In[k + 1] = Data[k];
Flag[k] = 0;
}
In[m + 1] = Data[m - 1] - 1;
for (int i = 1; i < m + 1; i++)
{
if (In[i] < m_Min)
{
m_Min = In[i];
}
if ((In[i] > In[i - 1]) && (In[i] > In[i + 1]))//判断中间点是否比两边点的值大
{
Flag[PN] = i;
PN++;
}
}
for (int j = 0; j < n; j++)
{
Out[j] = m_Min;
peak[j] = 0;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 11733 2014-08-31 14:08 傅里叶变换基频获取算法\CSuoliSlover.cs
文件 229425 2009-05-25 16:37 傅里叶变换基频获取算法\FFT.dll
文件 144 2014-08-31 14:13 傅里叶变换基频获取算法\算法使用说明.txt
目录 0 2014-08-31 14:11 傅里叶变换基频获取算法
----------- --------- ---------- ----- ----
241302 4
- 上一篇:陈纪修《数学分析第二版》上下册pdf.txt
- 下一篇:人机交互网上银行设计
相关资源
- 音频信号分析仪(快速傅里叶变换)
- 基于分数阶傅里叶变换的参数估计
- 音频信号分析仪(快速傅里叶变换)
- 傅里叶变换在频分复用中的应用
- 基于分数阶傅里叶变换的相位迭代图
- 图像傅里叶变换简单代码实现
- 计算傅里叶变换全息图实验
- noi2019冬令营 快速傅里叶变换 宋新波
- verilog编写的FFT
- 利用分数阶傅里叶变换对线性调频信
- 细化FFT的短时傅里叶变换方法
- 傅里叶变换-重要公式.pdf
- 课程设计-傅里叶变换在通信系统中的
- 傅里叶变换和拉普拉斯变换的意义
- labview傅里叶变换程序
- 傅里叶变换轮廓术,用于光栅三维成
- 傅里叶变换经典ppt
- 快速傅里叶变换程序
- 信号与系统,傅里叶变换、拉普拉斯
- 一种基于傅里叶变换的数字音频水印
- 对矩阵进行快速傅里叶变换fft原理以
- 图像二维傅里叶变换的物理意义
- 分数阶傅里叶变换86613
- 对图像傅里叶变换,DCT变换及重构并
- 1024点FFT快速傅立叶变换(vhdl)
- 基于多元散射校正和偏最小二乘_MSC
- 基于号码双频表和傅里叶变换的由电
- 快速傅里叶变换,源程序,fortran程序
- 分数阶傅里叶变换及其应用
- 快速傅里叶变换FFT的VHDL代码
评论
共有 条评论