精华内容
下载资源
问答
  • 不能用请拍砖砸我 哈哈 VisualDSP++ 5.0 破解补丁涵盖ADI所有的DSP系列 1.双击ADI-Crack.exe 生成license.dat文件 2.把license.dat 复制到 VisualDSp++安装目录\system目录下 3.尽情享受吧
  • DSP学习 -- Visual Studio 操作

    千次阅读 2020-08-07 16:15:12
    最近一直使用Visual Studio写代码了,其中用到一些东西感觉有必要写写,不然过不了几天就忘了。 先看看之前写过的。 一、字符串函数 参看:C语言再学习 – 字符串和字符串函数 常用的字符串函数要知道: 1、用来统计...

    如需转载请注明出处 https://juyou.blog.csdn.net/article/details/107862686

    最近一直使用Visual Studio写代码了,其中用到一些东西感觉有必要写写,不然过不了几天就忘了。
    先看看之前写过的。

    一、字符串函数

    参看:C语言再学习 – 字符串和字符串函数
    常用的字符串函数要知道:

    1、用来统计字符串中有效字符的个数

    size_t strlen (const char *s);

    2、合并两个字符串

    char *strcat(char *dest, const char *src);
    缺点:超出字符串存储区范围的话,有可能修改数组以外的存储区这会导致严重错误

    char *strncat(char *dest, const char *src, size_t n);
    上面有提到strcat()函数的缺点,它并不能检查第一个数组是否能够容纳第二个字符串。如果没有为第一个数组分配足够大的空间,多出来的字符溢出到相邻存储单元时就会出现问题。

    3、比较两个字符串的大小,比较依据的是ASCII码

    int strcmp(const char *s1, const char *s2);
    返回值:依次比较字符串每一个字符的ASCII码,如果两个字符串参数相同,返回0;如果第一个字符串参数较大,则返回1,如果第二个字符串较大,则返回-1。

    int strncmp(const char *s1, const char *s2, size_t n);
    只比较两个字符串里前n个字符

    4、把一个字符串复制到另外一个字符数组里

    char *strcpy(char *dest, const char *src);
    缺点:有可能修改不属于数组的存储区,这会导致错误

    char *strncpy(char *dest, const char *src, size_t n);
    把一个字符串复制到另外一个字符数组里

    5、在一个字符串中查找另外一个字符串所在位置

    char *strstr(const char *haystack, const char *needle);

    6、可以把字符数组中所有的字符存储区填充同一个字符数据

    void *memset(void *s, int c, size_t n);

    这里要注意的是:
    0 ‘0’ ‘\0’ “0” 的区别

    7、按照格式把数据打印在字符数组中,形成一个字符串

    int sprintf(char *str, const char *format, …);

    这里需要知道的就是,printf、scanf占位符
    参看:C语言再学习 – printf、scanf占位符
    数据类型和占位符之间的对应关系
    char和unsingned char %c
    short %hd
    unsigned short %hu
    long %ld
    unsigned long %lu
    int %d
    unsigned int %u
    float %f/%g
    double %lf/%lg
    字符串 %s
    使用十六进制数字0f的无符号十六进制整数 %x
    使用十六进制数字0F的无符号十六进制整数 %X

    %f和%lf会保留小数点后面多余的0 如 3.1400000 .2%f得 3.14
    %g和%lg不会保留 如 3.14
    %02d 两位数,如果不够前面补0, 如 02

    8、从存储区src 复制 n 个字符到存储区dest。

    void *memcpy(void *dest, const void *src, size_t n);

    int i = 0;
    char str[12] = "01234";
    memcpy(&i, &str[0], 4);
    

    strcpy 和 memcpy 主要有以下3方面的区别:
    (1)复制的内容不同。strcpy 只能复制字符串,而memcpy可以复制任何内容,例如字符串数组、整型、结构体、类等。
    (2)复制的方法不同。strcpy不需要指定长度,它遇到被复制字符串结束符’\0’才结束,所以容易溢出。memcpy则是根据其第3个参数决定复制的长度。
    (3)用途不同。通常在复制字符串时用strcpy,而需要复制其他类型数据时则一般用memcpy。

    9、字符串转换函数

    字符串转换为整数 atoi
    字符串转换为长整数 atol
    字符串转换为浮点数 strtod
    字符串转换为长整数 strtol
    字符串转换为无符号长整型 strtoul

    10、格式输入

    fscanf ()的工作方式和scanf()相似,区别在于前者需要第一个参数来指定合适的文件。

    函数声明:
    int fscanf(FILE *stream, const char *format, …)
    参数:
    stream – 这是指向 FILE 对象的指针,该 FILE 对象标识了流。
    format – 这是 C 字符串,包含了以下各项中的一个或多个:空格字符、非空格字符和format说明符。
    返回值:
    如果成功,该函数返回成功匹配和赋值的个数。如果到达文件末尾或发生读错误,则返回 EOF。

    /*
     	fscanf函数演示
     */
    #include <stdio.h>
    int main()
    {
    	char ch=0;
    	float fnum=0.0;
    	int num=0;
    	FILE *p_file=fopen("b.txt","r");
    	if(p_file)
    	{
    	//	scanf("%c%g%d",&ch,&fnum,&num);
    		fscanf(p_file,"%c %g %d",&ch,&fnum,&num);//fscanf函数可以从文件中按照格式把数据拷贝到内存的存储区里
    		printf("%g %c %d\n",fnum,ch,num);  //拷贝到存储区我们就可以打印出来
    		fclose(p_file);
    		p_file=NULL;
    	}
    	return 0;
    }
    

    二、预处理

    参看:C语言再学习 – C 预处理器
    1、#define 用法
    2、#include 用法
    3、#if #endif 用法

    三、标准I/O

    参看:UNIX再学习 – 标准I/O
    参看:Stream I/O

    1、打开流

    参看:fopen, _wfopen

    FILE *fopen(const char *path, const char *mode);

    mode 方式:

    在这里插入图片描述

    2、读和写流 (文件输入/输出)

    一旦打开了流,则可在 3 种不同类型的非格式化 I/O 中进行选择,对其进行读、写操作。

    (1)每次一个字符的 I/O。

    一次读或写一个字符,如果流是带缓冲的,则标准 I/O 函数 fgetc fputc处理所有缓冲。

    (2)每次一行的 I/O。

    如果想要一次读或写一行,则使用 fgets 和 fputs。每行都以一个换行符终止。当调用 fgets 时,应说明能处理的最大行长。

    (3)直接 I/O。

    fread 和 fwrite 函数支持这种类型的 I/O。每次 I/O 操作读或写某种数量的对象,而每个对象具有指定的长度。这两个函数常用于从二进制文件中每次读或写一个结构。

    3、定位流

    int fseek(FILE *stream, long offset, int fromwhere);
    重定位流(数据流/文件)上的文件内部位置指针

    注意:文件指针指向文件/流。位置指针指向文件内部的字节位置,随着文件的读取会移动,文件指针如果不重新赋值将不会改变或指向别的文件。

    函数设置文件指针stream的位置。如果执行成功,stream将指向以fromwhere(偏移起始位置:文件头0(SEEK_SET),当前位置1(SEEK_CUR),文件尾2(SEEK_END))为基准,偏移offset(指针偏移量)个字节的位置。如果执行失败(比如offset超过文件自身大小),则不改变stream指向的位置。

    四、文件夹操作

    查看 tchar.h

    1、_findfirst(), _findnext(), _findclose() 查看路径下文件夹和文件

    参看:Filename Search Functions

    读取文件可以采用几个函数分别为,_findfirst、_findnext、_findclose。其中还要借助结构体 struct _finddata_t,_finddata_t主要用来存储各种文件的信息。

    struct _finddata64i32_t {
            unsigned    attrib;
            __time64_t  time_create;    /* -1 for FAT file systems */
            __time64_t  time_access;    /* -1 for FAT file systems */
            __time64_t  time_write;
            _fsize_t    size;
            char        name[260];
    
    

    结构:

    unsigned attrib
    文件属性。

    time_t time_create
    文件创建时间(对于FAT文件系统,为-1L)。此时间以UTC格式存储。要转换为当地时间,请使用 localtime_s

    time_t time_access
    上次文件访问的时间(对于FAT文件系统,该时间为-1L)。此时间以UTC格式存储。要转换为当地时间,请使用 localtime_s

    time_t time_write
    上次写入文件的时间。此时间以UTC格式存储。要转换为当地时间,请使用 localtime_s

    _fsize_t size
    文件长度,以字节为单位。

    char name[ _MAX_PATH]
    匹配文件或目录的名称,以null终止,不带路径。

    您不能指定目标属性(例如_A_RDONLY)来限制查找操作。这些属性attrib在_finddata_t结构的字段中返回,并且可以具有以下值(在IO.h中定义)。用户不应依赖这些作为该attrib字段可能的唯一值。

    其中文件的属性,分别有以下几种:

    _A_ARCH
    存档。每当通过BACKUP命令更改和清除文件时设置。值:0x20。

    _A_HIDDEN
    隐藏文件。除非使用/ AH选项,否则通常不会在DIR命令中看到。返回有关普通文件和具有此属性的文件的信息。值:0x02。

    _A_NORMAL
    正常。文件没有设置其他属性,可以不受限制地读取或写入文件。值:0x00。

    _A_RDONLY
    只读。无法打开文件进行写入,也无法创建具有相同名称的文件。值:0x01。

    _A_SUBDIR
    子目录。值:0x10。

    _A_SYSTEM
    系统文件。除非使用/ A或/ A:S选项,否则通常在DIR命令中看不到。值:0x04。

    示例:

    使用do while循环可还行。

    void getAllFiles(const string& path, vector<string>& files) {
    	//文件句柄
    	intptr_t hFile = 0;//intptr_t:x86编译时int,X64时long long
    	//文件信息
    	struct _finddata_t fileinfo;  //文件信息读取结构
    	string p;  //string一个赋值函数:assign(str):把str拷贝给p,append(str):在字符串结尾追加str
    	if ((hFile = _findfirst(p.assign(path).append("\\*").c_str(), &fileinfo)) != -1)//"*"为通配符,匹配所有字符串 {
    		do 
    		{
    			if ((fileinfo.attrib & _A_SUBDIR)) {  //比较文件类型是否是文件夹
    				if (strcmp(fileinfo.name, ".") != 0 && strcmp(fileinfo.name, "..") != 0) 
    				{
    					files.push_back(p.assign(path).append("\\").append(fileinfo.name));//子文件夹路径
    					getAllFiles(p.assign(path).append("\\").append(fileinfo.name), files);//查找子文件夹下的所有文件信息
    				}
     
    			}
    			else {
    				files.push_back(p.assign(path).append("\\").append(fileinfo.name));//文件路径
     
    			}
    		} 
    		while (_findnext(hFile, &fileinfo) == 0);  //寻找下一个,成功返回0,否则-1
     
    		_findclose(hFile);
    	}
    }
     
    

    2、文件夹操作

    创建文件夹: _mkdir()

    参看:_mkdir, _wmkdir

    该_mkdir函数创建一个具有指定一个新的目录目录名。 _mkdir每次调用只能创建一个新目录,因此只有dirname的最后一个组件才能命名新目录。_mkdir不转换路径定界符。在Windows NT中,反斜杠(\)和正斜杠(/)都是运行时例程中字符串中的有效路径定界符。

    // crt_makedir.c
    
    #include <direct.h>
    #include <stdlib.h>
    #include <stdio.h>
    
    int main( void )
    {
       if( _mkdir( "\\testtmp" ) == 0 )
       {
          printf( "Directory '\\testtmp' was successfully created\n" );
          system( "dir \\testtmp" );
          if( _rmdir( "\\testtmp" ) == 0 )
            printf( "Directory '\\testtmp' was successfully removed\n"  );
          else
             printf( "Problem removing directory '\\testtmp'\n" );
       }
       else
          printf( "Problem creating directory '\\testtmp'\n" );
    }
    

    删除文件夹: _rmdir()

    _rmdir, _wrmdir

    该_rmdir函数删除指定的目录目录名。该目录必须为空,并且不能为当前工作目录或根目录。

    那么问题来了,如果删除非空文件夹,该怎么办呢?
    使用:
    system(“rd /s/q 对应的路径”);
    /s 除目录本身外,还讲删除指定目录下的所有子目录和文件。
    /q 安静模式,带/s删除目录树时不需要确认。

    进入文件夹: _chdir()

    参看:_chdir, _wchdir

    _chdir功能改变当前的工作目录由指定的目录目录名。该目录名称参数必须指向现有的目录。此功能可以更改任何驱动器上的当前工作目录。如果在dirname中指定了新的驱动器号,则默认驱动器号也会更改。例如,如果A是默认驱动器号,\ BIN是当前工作目录,则以下调用更改驱动器C的当前工作目录,并将C建立为新的默认驱动器:

    _chdir("c:\temp");
    

    在路径中使用可选的反斜杠字符(\)时,必须在C字符串文字中放置两个反斜杠(\)以表示单个反斜杠(\)。

    // crt_chdir.c
    // arguments: C:\WINDOWS
    
    /* This program uses the _chdir function to verify
       that a given directory exists. */
    
    #include <direct.h>
    #include <stdio.h>
    #include <stdlib.h>
    #include <errno.h>
    
    int main( int argc, char *argv[] )
    {
    
       if(_chdir( argv[1] ) )
       {
          switch (errno)
          {
          case ENOENT:
             printf( "Unable to locate the directory: %s\n", argv[1] );
             break;
          case EINVAL:
             printf( "Invalid buffer.\n");
             break;
          default:
             printf( "Unknown error.\n");
          }
       }
       else
          system( "dir *.exe");
    }
    

    文件夹是否存在: _access();

    参看:_access, _waccess

    头文件:<io.h>
    函数原型:int _access(const char *pathname, int mode);
    参数:pathname 为文件路径或目录路径 mode 为访问权限(在不同系统中可能用不能的宏定义重新定义)
    返回值:如果文件具有指定的访问权限,则函数返回0;如果文件不存在或者不能访问指定的权限,则返回-1.
    备注:当pathname为文件时,_access函数判断文件是否存在,并判断文件是否可以用mode值指定的模式进行访问。当pathname为目录时,_access只判断指定目录是否存在,在Windows NT和Windows 2000中,所有的目录都只有读写权限。
    mode的值和含义如下所示:
    00——只检查文件是否存在
    02——写权限
    04——读权限
    06——读写权限

    #include <io.h>
    #include <stdio.h>
    #include <stdlib.h>
    int main()
    {
        if ((_access(“IsExist.txt”, 0)) != -1)
        {
            printf(“File IsExist.txt exists.n”);
     
            if ((_access(“IsExist.txt”, 2)) != -1)
                printf(“File IsExist.txt does not have write permission.\n”);
        }
     
        return 0;
    }
    

    3、system 执行命令

    参看:system, _wsystem

    所述系统功能通过命令到命令解释器,它执行字符串作为操作系统命令。系统使用COMSPEC和PATH环境变量来定位命令解释器文件CMD.exe。如果command为NULL,则该函数仅检查命令解释器是否存在。
    您必须使用fflush或_flushall显式刷新,或在调用system之前关闭任何流。

    示例:
    使用system对文本文件进行TYPE。

    // crt_system.c
    
    #include <process.h>
    
    int main( void )
    {
       system( "type crt_system.txt" );
    }
    

    上面用到了两个指令:

    system("rd /s/q 对应的路径");
    system( "type crt_system.txt" );
    

    这些都是DOS指令,查看 help

    C:\Users\Administrator>help
    有关某个命令的详细信息,请键入 HELP 命令名
    ASSOC          显示或修改文件扩展名关联。
    ATTRIB         显示或更改文件属性。
    BREAK          设置或清除扩展式 CTRL+C 检查。
    BCDEDIT        设置启动数据库中的属性以控制启动加载。
    CACLS          显示或修改文件的访问控制列表(ACL)。
    CALL           从另一个批处理程序调用这一个。
    CD             显示当前目录的名称或将其更改。
    CHCP           显示或设置活动代码页数。
    CHDIR          显示当前目录的名称或将其更改。
    CHKDSK         检查磁盘并显示状态报告。
    CHKNTFS        显示或修改启动时间磁盘检查。
    CLS            清除屏幕。
    CMD            打开另一个 Windows 命令解释程序窗口。
    COLOR          设置默认控制台前景和背景颜色。
    COMP           比较两个或两套文件的内容。
    COMPACT        显示或更改 NTFS 分区上文件的压缩。
    CONVERT        将 FAT 卷转换成 NTFS。你不能转换
                   当前驱动器。
    COPY           将至少一个文件复制到另一个位置。
    DATE           显示或设置日期。
    DEL            删除至少一个文件。
    DIR            显示一个目录中的文件和子目录。
    DISKPART       显示或配置磁盘分区属性。
    DOSKEY         编辑命令行、撤回 Windows 命令并
                   创建宏。
    DRIVERQUERY    显示当前设备驱动程序状态和属性。
    ECHO           显示消息,或将命令回显打开或关闭。
    ENDLOCAL       结束批文件中环境更改的本地化。
    ERASE          删除一个或多个文件。
    EXIT           退出 CMD.EXE 程序(命令解释程序)。
    FC             比较两个文件或两个文件集并显示
                   它们之间的不同。
    FIND           在一个或多个文件中搜索一个文本字符串。
    FINDSTR        在多个文件中搜索字符串。
    FOR            为一组文件中的每个文件运行一个指定的命令。
    FORMAT         格式化磁盘,以便用于 Windows。
    FSUTIL         显示或配置文件系统属性。
    FTYPE          显示或修改在文件扩展名关联中使用的文件
                   类型。
    GOTO           将 Windows 命令解释程序定向到批处理程序
                   中某个带标签的行。
    GPRESULT       显示计算机或用户的组策略信息。
    GRAFTABL       使 Windows 在图形模式下显示扩展
                   字符集。
    HELP           提供 Windows 命令的帮助信息。
    ICACLS         显示、修改、备份或还原文件和
                   目录的 ACL。
    IF             在批处理程序中执行有条件的处理操作。
    LABEL          创建、更改或删除磁盘的卷标。
    MD             创建一个目录。
    MKDIR          创建一个目录。
    MKLINK         创建符号链接和硬链接
    MODE           配置系统设备。
    MORE           逐屏显示输出。
    MOVE           将一个或多个文件从一个目录移动到另一个
                   目录。
    OPENFILES      显示远程用户为了文件共享而打开的文件。
    PATH           为可执行文件显示或设置搜索路径。
    PAUSE          暂停批处理文件的处理并显示消息。
    POPD           还原通过 PUSHD 保存的当前目录的上一个
                   值。
    PRINT          打印一个文本文件。
    PROMPT         更改 Windows 命令提示。
    PUSHD          保存当前目录,然后对其进行更改。
    RD             删除目录。
    RECOVER        从损坏的或有缺陷的磁盘中恢复可读信息。
    REM            记录批处理文件或 CONFIG.SYS 中的注释(批注)。
    REN            重命名文件。
    RENAME         重命名文件。
    REPLACE        替换文件。
    RMDIR          删除目录。
    ROBOCOPY       复制文件和目录树的高级实用工具
    SET            显示、设置或删除 Windows 环境变量。
    SETLOCAL       开始本地化批处理文件中的环境更改。
    SC             显示或配置服务(后台进程)。
    SCHTASKS       安排在一台计算机上运行命令和程序。
    SHIFT          调整批处理文件中可替换参数的位置。
    SHUTDOWN       允许通过本地或远程方式正确关闭计算机。
    SORT           对输入排序。
    START          启动单独的窗口以运行指定的程序或命令。
    SUBST          将路径与驱动器号关联。
    SYSTEMINFO     显示计算机的特定属性和配置。
    TASKLIST       显示包括服务在内的所有当前运行的任务。
    TASKKILL       中止或停止正在运行的进程或应用程序。
    TIME           显示或设置系统时间。
    TITLE          设置 CMD.EXE 会话的窗口标题。
    TREE           以图形方式显示驱动程序或路径的目录
                   结构。
    TYPE           显示文本文件的内容。
    VER            显示 Windows 的版本。
    VERIFY         告诉 Windows 是否进行验证,以确保文件
                   正确写入磁盘。
    VOL            显示磁盘卷标和序列号。
    XCOPY          复制文件和目录树。
    WMIC           在交互式命令 shell 中显示 WMI 信息。
    
    有关工具的详细信息,请参阅联机帮助中的命令行参考。
    

    如果还想继续查看命令详细信息: help + 命令

    C:\Users\Administrator>help RD
    删除一个目录。
    
    RMDIR [/S] [/Q] [drive:]path
    RD [/S] [/Q] [drive:]path
    
        /S      除目录本身外,还将删除指定目录下的所有子目录和
                文件。用于删除目录树。
    
        /Q      安静模式,带 /S 删除目录树时不要求确认
    

    五、freopen

    参看:UNIX再学习 – 标准I/O

    将printf 内容保存到abc.txt

    //示例二 freopen 函数
    #include<stdio.h>  
    #include <stdlib.h>
     
    int main (void)  
    {  
    	FILE*fp = NULL;  
    	fp = freopen("abc.txt", "w", stdout);  
    	if(NULL == fp)  
    		perror("fail to freopen"), exit (1);  
     
    	printf ("hello world!\n");
    	
    	fclose (stdout);
    	fclose (fp);  
    	fp = NULL;  
         return 0;  
    }  
    查看 abc.txt
    # cat abc.txt 
    hello world!
    

    六、编译生成的应用以管理员身份运行

    属性->链接器->清单文件->UAC执行级别
    选择 requireAdministrator (/level=‘requireAdministrator’)
    在这里插入图片描述

    如需转载请注明出处 https://juyou.blog.csdn.net/article/details/107862686

    展开全文
  • 软件介绍: VisualDSP 5.0.exe软件安装包,安装后再使用破解程序ADI-Crack.exe 生成license.dat文件。将生成的把license.dat文件复制到VisualDSp 安装目录\system目录下即可使用。
  • 一、软件仿真方法在VisualDSP++中用延时线实现Riitta Schroeder混响算法 二、 选做题:Schroeder混响算法的系统函数、结构图 含word报告、所有代码工程文件; 所有可用、可编辑
  • 尤其是定义API调用的变量类型时,必须决 定变量的长度,这样才能使用所符合的Visual Basic类型。一般Visual Basic包含了Byte、Integer、Long、Single、D °uble与String等变量类型。为了避免由于传递错误类型而发生...
  • visualDSP软件破解

    2017-03-08 21:43:46
    visualDSP 软件破解,5.0, 5.1 .
  • Visual Dsp 5 注册

    2017-11-09 14:43:28
    Visual Dsp 5.0 打开 VisualDSP keygen .exe 输入机器码即可
  • VisualDSP++5.0使用指南

    2014-04-14 12:44:44
    VisualDSP++是ADI公司针对ADSP系列处理器提供的软件 开发工具。它通过图形窗口的方式与用户进行信息交换,程 序开发人员可以在窗口中进行高效的工程管理,轻松地在编 辑、编译和调试之间互相切换,实现高效率的程序...
  • visual dsp 5++ 破解

    2014-01-01 23:32:22
    要更改自己的硬盘C:60D5-E380。本人亲测
  • VisualDSP++入门

    2017-03-20 16:46:33
    VisualDSP++入门讲解
  • Visual Basic语法中,包含几个用来实现程序流程的基本架构。其中,包含了下列所示的各种常用类型。    在介绍这些基本语法的架构之前,就必须先介绍比较操作数,才可以用来作为判断。一般可以区分为关系操作数...
  • 对基于VisualDSP++实现无限脉冲响应数字滤波器(IIR)技术进行研究,分析了无限脉冲响应数字滤波器的原理和算法,给出了IlR数字信号处理在VisualDSP++软环境的实现方法,该方法具有一定的工程应用价值。
  • dsp代码的教学实验的例子,请使用者好好学习,很重要
  • 此外,为防止当两个卷积项长度相差很大时,短序列需要补的0非常多,这样无助于计算量的减小,采用重叠相加法 DSP实现代码: 初始化部分: int length(char file[]); int DataIn1; int DataIn2; int Data...

    快速卷积实现思路

    1. 序列x(n)和h(n)的长差不多,设x(n)的长为N_1,h(n)的长为N_2,则
      在这里插入图片描述
    2. 为使两有限长序列的线性卷积可用其循环卷积代替而不发生混叠,必须选择循环卷积长度N≥N_1+N_2-1,若采用基2-FFT完成卷积运算,要求N=2^m(m为整数)
    3. 用补零方法使x(n)和h(n)变成列长为N的序列

    在这里插入图片描述

    1. 用FFT计算x(n)和h(n)的N点离散傅里叶变换
    2. 完成X(k)和H(k)乘积,Y(k)=X(k)H(k) 
    3. 用FFT计算Y(k)的离散傅里叶反变换得

    在这里插入图片描述
    7. 此外,为防止当两个卷积项长度相差很大时,短序列需要补的0非常多,这样无助于计算量的减小,采用重叠相加法

    DSP实现代码:

    1. 初始化部分:
    int length(char file[]);	
    int DataIn1;				
    int DataIn2;				
    int DataOut;			
     
    int n;						
    int m;					
    int l = 512;				
    
    int i,j; 					
    int k,p;
    
    complex_float xi[N_FFT];	
    complex_float Y[N_FFT];		
    complex_float yn[N_FFT];	
    
    
    1. 读取数据部分

    2. 实现快速卷积算法

    3. 测量读取数据长度的函数部分

    实验结果:
    为证实结果的准确性,我打算使用Matlab的conv线性卷积以及快速卷积算法来和本次的实验结果作对比,其结果如下所示:

    在这里插入图片描述

    误差分析:

    完整DSP代码实现以及报告说明如下:
    https://download.csdn.net/download/weixin_39589455/18656468

    展开全文
  • DSP5509介绍与使用方法 介绍与使用方法 介绍与使用方法
  • VisualDSP++ 5.0 注册机

    2011-02-11 14:04:52
    1. Install Software. 2. run Manage License ...5. copy generated LICENSE.DAT in "C:\Program Files\Analog Devices\VisualDSP 5.0\System" folder. 6. run the program. ENJOY! PS: thanks to PadsPCB!

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,396
精华内容 2,558
关键字:

dspvisual