91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 51KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發(fā)布日期: 2021-09-14
  • 語言: 其他
  • 標(biāo)簽: 基頻算法??

資源簡介

算法主要針對橋梁拉索索力頻譜法測試應(yīng)用 1、調(diào)用FFT進行快速傅里葉變換; 2、獲取變換后峰值; 3、通過峰值和設(shè)計基頻比較,取得最接近這幾基頻的結(jié)果

資源截圖

代碼片段和文件信息

using?System;
using?System.Collections.Generic;
using?System.Linq;
using?System.Text;
using?System.Runtime.InteropServices;

namespace?CableSlover.BasisClass
{
????public?class?CSuoliSlover
????{
????????///?
????????///?快速傅立葉變換
????????///?

????????///?當(dāng)l=0時,存放n個采樣輸入的實部,返回離散傅里葉變換的模;當(dāng)l=1時,存放傅里葉變換的n個實部,返回逆傅里葉變換的模
????????///?當(dāng)l=0時,存放n個采樣輸入的虛部,返回離散傅里葉變換的幅角;當(dāng)l=1時,存放傅里葉變換的n個虛部,返回逆傅里葉變換的幅角;幅角的單位為度
????????///?采樣點數(shù)
????????///?滿足n=2的k次方
????????///?當(dāng)l=0時返回傅里葉變換的n個實部;當(dāng)l=1時返回逆傅里葉變換的n個實部
????????///?當(dāng)l=0時返回傅里葉變換的n個虛部;當(dāng)l=1時返回逆傅里葉變換的n個虛部
????????///?當(dāng)l=0表示要求本函數(shù)進行傅里葉變換計算;當(dāng)l=1表示要求本函數(shù)進行逆傅里葉變換計算
????????///?當(dāng)il=0時表示不要求本函數(shù)計算傅里葉變換或者逆傅里葉變換的模與幅角;當(dāng)il=1時表示要求本函數(shù)計算傅里葉變換或者逆傅里葉變換的模與幅角
????????[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);

????????///?
????????///?歸一化
????????///?

????????///?原始數(shù)據(jù)
????????public?static?void?Normalized(double[]?DatOri)
????????{
????????????int?n?=?DatOri.Length;
????????????int?i;
????????????double?t?=?0.0;
????????????for?(i?=?0;?i?????????????{
????????????????t?+=?DatOri[i]?*?DatOri[i];
????????????}
????????????t?=?Math.Sqrt(t);
????????????for?(i?=?0;?i?????????????{
????????????????DatOri[i]?=?DatOri[i]?/?t;
????????????}
????????}

????????///?
????????///?獲取峰值假設(shè)峰值個數(shù)PN>n
????????///?

????????///?為待分析的數(shù)組
????????///?峰值所在位置數(shù)組
????????///?峰值數(shù)組
????????///?Data數(shù)組大小
????????///?peak數(shù)組的大小
????????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?????????????{
????????????????In[k?+?1]?=?Data[k];
????????????????Flag[k]?=?0;
????????????}
????????????In[m?+?1]?=?Data[m?-?1]?-?1;
????????????for?(int?i?=?1;?i?????????????{
????????????????if?(In[i]?????????????????{
????????????????????m_Min?=?In[i];
????????????????}
????????????????if?((In[i]?>?In[i?-?1])?&&?(In[i]?>?In[i?+?1]))//判斷中間點是否比兩邊點的值大
????????????????{
????????????????????Flag[PN]?=?i;
????????????????????PN++;
????????????????}
????????????}
????????????for?(int?j?=?0;?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


評論

共有 條評論