返回信息流最近在matlab下完成了FTN验证工作,老板说要把matlab代码转为C代码。尼玛[ema1][ema1][ema1],工作量还是好大,幸好有IT++类库。IT++是一个包括数学、信号处理和通信的类和函数的库。它的主要用于通信系统的仿真以及执行通信领域的研究。库的核心包括通用向量(generic vector)和矩阵(matrix)类,以及众多附带的函数。IT++与MATLAB或GNU Octave很相似。
学过C++的都知道类库是怎么回事情,就不多说了。
说完介绍,下面是详细的安装步骤:
基本配置:最好选择英文版本VS2005,曾经有同学装过VS2008,也可以用,但是会导致一些不兼容,需要设置,比较麻烦
步骤1、下载安装Microsoft Visual Studio 2005
步骤2、下载安装Microsoft Platform SDK : SDK不用都安装,按照下图选择需要的即可。
步骤3、下载itpp-4.0.6(itpp-4.0.6文件格式比较大,就不上传附件了,大家可以在国内网站下载或者私信给我)或新版本并将整个文件夹放置在C盘(这个不是必须的,但是保存在其他盘也必须保证下面的路径正确,这里以C盘为例)下,同时在C:\itpp-4.0.6下创建lib文件夹,并将blas_win32.lib、lapack_win32.lib、libfftw3-3.lib三个lib文件复制到lib文件夹中(这3个文件是需要下载的,查看附件,这三个附件比较重要,翻墙从国外网站下载的,已经打包看附件
附件(51.4KB) lib.zip
,可恶的5M限制[ema9][ema9][ema9]);
步骤4、将3个dll文件blas_win32.dll 、lapack_win32.dll、libfftw3-3.dll(这3个文件是需要下载的,同样看附件,已经打包
附件(1.9MB) dll.zip
)复制到c:\windows\system32目录下;
步骤5:打开\itpp-4.0.6\itpp下的config_msvc.h文件,将出现的3行
#if defined(HAVE_ACML) || defined(HAVE_MKL)
改为
#if defined(HAVE_ACML) || defined(HAVE_MKL) || defined(HAVE_FFTW3)
步骤6:打开编辑 \itpp-4.0.6\itpp\signal\transforms.cpp 文件,将第46行(有的是48行,总之找到这一行)修改为:
# include <itpp/fftw3.h>
(fftw3.h文件点此处下载
附件(14KB) fftw3.h)
步骤7:打开c:\itpp-4.0.6\win32下的itpp_mkl.sln,进行编辑
1) 在Debug状态下,点击project –>project properties (Project/Properties menu),按以下图的参数进行修改;
现在点击编译Debug 库(Build/Build Solution menu or press F7 key),之后将在lib文件夹下生成一个约61Mb 的itpp_debug2005.lib文件;
2) 选择Release状态,点击project –>project properties (Project/Properties menu),按以下图的参数进行修改;
现在点击编译Release版本库(Build/Build Solution menu or press F7 key),之后将在lib 文件夹下生成一个约60Mb 的itpp_rel2005.lib文件,这个状态运行比Debug要快。
步骤8、在VS的安装目录C:\Program Files\Microsoft Visual Studio 8\VC下,新建一个Express文件夹, 然后将VCProjects和VCWizards(查看楼主准备的附件
附件(95.8KB) the_template_Wizard_vc_express.zip)复制到Express下(文档中用的是Visual C++ Express 2005,故替换Express,这是MicrosoftVisual Studio2005,可能没有Express文件夹)。
步骤9、 将VCProjects文件夹里面的所有文件复制到C:\Program Files\Microsoft Visual Studio 8\VC\vcprojects,提示是否覆盖,选"是"(这一步可能不必做)。
步骤10:最后打开Vs2005,新建工程,选择VC++\Win32项目,就可以看到IT++选项了,至此,IT++安装成功,但编译时不通过,关键是IT++ 需要和SDK进行连接,按照以下的步骤进行设置:
C:\Program Files\Microsoft Visual Studio 8\VC\VCWizards\AppWiz\Generic\IT++\Scripts\1033\default.js,修改以下内容
var ITPP_LIB_PATH="C:\\itpp-4.0.6\\lib"
var ITPP_INC_PATH="C:\\itpp-4.0.6\\"
现在可以正确运行了,打开Visual C++ Express,新建一个IT++工程,程序自带一个可以直接编译运行的程序(QPSK simulation on AWGN)
编译运行,如果出现以下结果,则程序可以正确运行。
这是一条镜像帖。来源:北邮人论坛 / communications / #24718同步于 2014/8/1
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Communications机器人发帖
IT++ and VC2005(连载一)
buptch
2014/8/1镜像同步3 回复
订阅后,新回复会通过你的通知中心匿名送达。
3 条回复
请教下,转成c是为了什么目的?
【 在 buptch 的大作中提到: 】
: [face=楷体_GB2312][size=5]最近在matlab下完成了FTN验证工作,老板说要把matlab代码转为C代码。尼玛,工作量还是好大,幸好有IT++类库。IT++是一个包括数学、信号处理和通信的类和函数的库。它的主要用于通信系统的仿真以及执行通信领域的研究。库的核心包括通用向量(generic vector)和矩阵(matrix)类,以及众多附带的函数。IT++与MATLAB或GNU Octave很相似。
: 学过C++的都知道类库是怎么回事情,就不多说了。
: 说完介绍,下面是详细的安装步骤:
: ...................
来自「北邮人论坛手机版」
那你跟老板商量一下把.m转换成.p文件不也行么,.p运行起来快多了,还可保护源码
【 在 buptch 的大作中提到: 】
最近在matlab下完成了FTN验证工作,老板说要把m...