WEB开发网
开发学院软件开发VC 几个数字信号处理算法程序 阅读

几个数字信号处理算法程序

 2007-03-15 21:54:17 来源:WEB开发网   
核心提示:本文示例源代码或素材下载 摘要在学习数字信号处理算法程序中用VC编写的几个通用算法程序,关键词 离散卷积 FIR在学习信号处理的过程中,看到书上的大部分算法都是用Fortan或者Basic实现,于是自己试验着用VC实现了一下,几个数字信号处理算法程序,1、卷积计算离散卷积公式的算法实现图1 卷积计算界面1.1

本文示例源代码或素材下载

摘要

在学习数字信号处理算法程序中用VC编写的几个通用算法程序。

关键词 离散卷积 FIR

在学习信号处理的过程中,看到书上的大部分算法都是用Fortan或者Basic实现,于是自己试验着用VC实现了一下。

1、卷积计算

离散卷积公式的算法实现

图1 卷积计算界面

1.1 主程序代码(省略了部分不关键代码)void CInterVolveDlg::CalTheNumByArray()
{
  this->UpdateData(TRUE);
  FFuncs
  funcs[2] = {funch1,funch2}; int
  n = this->m_ValueN; double*
  x = new double[2*(n+1)];//x(n) double*
  y = new double[2*(n+1)];//y(n) double*
  h = new double[2*(n+1)];//h(n) //1.init
    x(n),h(n),y(n) CButton*
  pbtn = (CButton*) this->GetDlgItem(IDC_RADIO1); int
  nChoseItem = 0;//函数选择 if(pbtn->GetCheck())
  {
    nChoseItem
    = 0; }
  else
  {
    nChoseItem
    = 1; }
  for(int
  i= 0;i<2*(n+1);i++)
  {
    if(i< n+1)
    {
      x[i] = 1;
      h[i] = funcs[nChoseItem](i);
    }
    else
    {
      x[i] = 0;
      h[i] = 0;
    }
  }
  //2.y(i)=SUM(x(m)*h(i-m)) m=0..i
  for(i=0;i<2*(n+1);i++)
  {
    y[i] = Calcy(x,h,i);
  }
  //显示结果
  delete[] x;
  delete[] y;
  delete[] h;
}      
1.2 各个子函数实现

1 2 3  下一页

Tags:数字 信号处理 算法

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接