请给我一份用C语言编辑的用于计算DFT的程序

请给我一份用C语言编辑的用于计算DFT的程序,第1张

#include <stdio.h>

#include <stdlib.h>

#include <math.h>

#include <string.h>

//码卖#define MyE 2.7182818284590452354

//#define GET_ARRAY_LEN(array,len){len = (sizeof(array) / sizeof(array[0]))}

int main()

{

void fft()

int len,i//len=N

printf("Input the size of the array: ")//设定数组大小

if (scanf("%d",&len)==EOF)

return 0

double arr[len]

printf("Input the arry elements:\n")

for (i=0i<leni++)

{

printf("[%d]: (for example: 5<Enter>)",i)

scanf("%lf",&arr[i])

}

//int len//自定义长度迟罩逗闷搭

//GET_ARRAY_LEN(a,len)

//printf("%d\n",len)

printf("Result is :\n")

fft(arr,len)

return 0

}

void fft(double a[],int lang)

{

int N

int n,k

N=lang

double sumsin=0,sumcos=0

for (k=0k<Nk++)

{

for (n=0n<Nn++)

{

sumcos=sumcos+cos(n*k*8*atan(1)/N)*a[n]//8*atan(1)=2π

//printf("n=%d,sumcos=%.1lf",n,sumcos)

//printf("\n")

sumsin=sumsin+(-1)*sin(n*k*8*atan(1)/N)*a[n]

//printf("n=%d,sumcos=%.1lf",n,sumsin)

//printf("\n")

}

printf("x[%d]= %.1lf + %.1lfj",k,sumcos,sumsin)

sumcos=0

sumsin=0

printf("\n")

}

}

【请尊重我的劳动成果,若满意,请及时采纳~~谢谢!!】

硬盘是电脑中一个非常重要的配件,它是我们存储数据最主要的场所。在使用中由于

*** 作不当,强行关机,碰撞等原因会使硬盘产生各种故障;同样,当购机时最担心的事是

奸商将返修硬盘或二手硬盘当新盘卖给我们,而这些盘子究竟有没有损坏呢?如果我们在

购买或使用硬盘时能对硬盘的健康状态预先得知,那么就能够避免无谓的损失,这无疑是

一件相当重要的事情。这就得依靠硬盘检测软件来帮忙了。

一、IBM之Drive Fitness V3.01

IBM硬盘检测工具Drive Fitness最新推出的3.01版支持Win9x/ME/NT4/2000多种 *** 作系

统,它是基于DFT微代码来判断硬盘的错误所在,这些微代码会自动记录重要的硬盘错误事

件,如所有重新分配过的扇区历史记录等等。它的使用方法很简单:

双击下载后的软件会自动创建一个包括IBM DOS2000 *** 作系统及Drive Fitness工具的

可启动软盘。在检测硬盘时利用此软盘启动电脑,进入PCDOS 7.0 *** 作系统,在出现的菜者毕单

中选择“ATA support only”,然后软盘中的批处理命令将直接调用DFT程序,在出现的画

面中有“Quick Test”、“Advanced Test”及“Rescan Bus”三个按钮,我们可以通过键

盘的左右箭头来选择其中的一个命令然后回车即可。其中“Quick Test”是对每一个磁头

进行读/写检测和扫描前500KB的扇区(引导程序保存在此部分扇区);“Advanced Test”则

是对硬盘介质盘面每个扇区的数据完整性进行检测,完成一次扫描耗时较长,但结果相当

可靠;让孙而“Rescan Bus”则是扫描系统硬件配置(包括硬盘及光驱),检测后会在窗口中显

示出来。DFT程序只能在DOS模式下运行,DFT程序诊断完成后对应以下四种结果:硬盘有坏

扇区、硬盘已经由于震动而损坏、硬盘将要衰减、硬盘可以正常使用,不需要进行返修或

者换盘。

如果你使用的是其他品牌的硬盘,该检测工具也可以对其进行快速检测,但“Advanc

ed Test”似乎不起作用,并且检测的结果也不如对IBM自己的硬盘检测得准确。

二、WD Data Lifeguard Tools V2.8

http://image2.sina.com.cn/IT/c/2003-01-09/1_2-68-897_20030109141755.jpg

图1 WD Data Lifeguard Tools运行界面

此款程序包(Data Lifeguard Tools)是西部数据公司针对WD硬盘推出的配套工具,下载

以后将程序自解压到一张软盘上,则此软盘可用于系统的启动及WD硬盘的诊断。解压缩后

软盘中含有二十三个文件,其中有以下四个重要程序:EZ-Install(EZmaker.exe)、BIOS

Check(dlgchk.exe)、Ultra ATA Manager(dlgudma.exe)及Diagnostics(dlgdiag.exe)

其中Diagnostics程序是WD的硬盘测试与低级格式化程序。它为用户提供两种硬盘检测

方式:快速检测和全面检测。并且能修复检测中发现的错误并打印检测报告,同时它还能

进行硬盘的低级格式化。

该工具只能在启动盘上运行使用,如果在硬盘上直接运行有可能会造成硬盘数据丢失

或者扫描错误等结果。运行Diagnostics程序后,在画面中直接选择“Select Drive”首滑芹项查

看硬盘列表,用键盘上的上下箭头选择需要检测的硬盘,确定即可。千万注意不要在程序

主菜单上选择“Write Zeros to Drive(低格硬盘)”项。程序对硬盘检测结束后可能会有

以下几种结果:

1.“Drive Has No Errors”即所检测的硬盘没有错误;

2.“Contact WD Tech Support”即所测的硬盘没有通过检测,但可寻求WD厂商的技术

支持;

3.“Non- WD Drive Detected”所测的硬盘不是西部数据的产品;

4.“ReStore The Hard Drive To A Defect-FreeStatus”表示所测的硬盘有坏磁道,

请选择修复项修复硬盘的错误,如果不能修复,将这个磁道重新设置;

一般而言,对于常见性的硬盘逻辑性错误程序会在检测的过程中自动修复。

三、Maxtor Power Diagnostic(POWERMAX)3.04

迈拓硬盘最新Power Diagnostic(POWERMAX)检测程序最新的3.04版用于Win9x/NT4/20

00等各 *** 作系统。这是由Maxtor官方发布的硬盘检测软件,适用于全部的Maxtor/Quantum

系列硬盘,可以让用户及早发现硬盘的隐患,例如坏道、坏扇区、分区格式化错误等等,

也可以解决硬盘不能被 *** 作系统正确识别的问题。当在使用迈拓(昆腾)硬盘时碰到硬盘坏

道、硬盘分区错误及硬盘识别错误时可用这个工具来对硬盘进行检测与校正。

下载后的软件Pwrdiag.exe是一个自解压程序,双击后提示创建启动工具盘,我们会在

软盘中得到Powermax.exe、Amset.exe、QDPSSCSI.exe及20014.TXT等几个程序,其中最重

要是就是硬盘检测工具Powermax.exe,使用方法如下:

用上面做成的软盘启动系统后将自动运行Powermax.exe程序,接着检测程序将检测你

的系统配置,以完成对你的IDE硬盘进行正确识别。若检测与你的实际相符合,按“Y”将

继续检测过程。此时屏幕将分成如下三块:左上方的“Test Status”是指当前检测的状态

;右上方的“Current Drive”是指当前所选择或检测的硬盘;而下面的“Help”窗口则是

帮助信息。

http://image2.sina.com.cn/IT/c/2003-01-09/1_2-68-898_20030109141755.jpg

图2 Maxtor Power Diagnostic检测程序

在d出的“Select Drive”窗口中选择检测的对象后,按回车键后d出“Select Tes

t(选择测试项)”窗口,主要有以下几个相关选项:

1.Install Comfirmation (安装确认,你可以通过此来确认程序检测到的系统配置是

否正确)

2.Basic Quick(90 sec) Test(90秒快速检测)

3.Advanced Test(高级硬盘检测)

4.Burn In Test(完整测试)

5.Write Disk Pack(低级格式化硬盘)

6.Select Another Drive (选择另一款硬盘)

7.Contact Maxtor(联系迈拓网站)

选择需要的选项对硬盘进行测试即可,其结果与前两者相仿可参照对比。

四、Seagate SeaTools Disc Diagnostic 1.05.08

这是希捷硬盘的专用磁盘检测工具,针对Win9x/ME/2000/XP/NT4/OS2推出的桌面用户

版。当系统出现故障时,SeaTools能够帮助我们确定故障的原因是磁盘驱动器部分还是由

其他软、硬件问题造成。

SeaTools中的物理测试不受 *** 作系统的限制,可以全面的检测Seagate生产的各种硬盘

,它不会放过任何的物理缺陷;SeaTools的文件结构检测基于FAT结构,它能查出FAT类型

分区的相关问题,但不适用于NTFS以及HPFS分区类型。

运行seatoold.exe将自动创建一个能够启动的软盘,软盘之内包括一个能启动的特别

的Ontrack *** 作系统。需要使用的时候,将做好的软盘插入软驱启动系统,会自动进入Sea

Tools的 *** 作界面。 *** 作界面分左右两栏,左栏为SeaTools菜单栏,右栏是相对于每一个菜

单进行的解释,使用方法与前面讲的测试软件类似,这里就不多说了。

除了上述由硬盘厂商推出的硬盘检测工具之外,网上也还有一些硬盘检测方面的共享

软件,下面就介绍其中的一个Drive Health V1.0版。

与上述几个硬盘检测软件不同的是,Drive Health是一个可以在Windows *** 作系统下使

用的软件。(如图二)这个工具在检测硬盘时利用了专业的S.M.A.R.T技术,对硬盘的各个指

标均能作出科学的评判。通过菜单“Drive--Common Drive Settings”的设置可以对硬盘

可能出现的错误进行监测并防止你丢失重要的数据,时间可以根据需要选择。此外,Driv

eHealth提供了对硬盘驱动访问的监视,对其稳定性与可靠性实现了实时报警。

工具一

SPFDISK分区、测试软件

SPFDisk是由台湾人编写的一个综合了“硬盘分割工具(FDISK)”及“启动管理程序(Boot Manager)”的软件,与DiskMan相似的功能,而且都有的一个优点就是采用中文界面,一目了然。该工具可进行磁盘分区和修复硬盘主引导记录和表面测试。

运行SPFDISK程序,将光标停留在第一分区表,按屏幕提示按Tab键或ENTER键,出现功能菜单。完成后必须要重新启动电脑。

工具二

DISKMAN分区修复软件

国产全中文硬盘分区表维护软件,主要特点:1. 运行于MSDOS环境,采用全中文图形界面,无须任何汉字系统支持。以图表的形式揭示了分区表的详细结构。支持鼠标 *** 作。2. 支持8G以上的大硬盘。3. 支持多种系统分区,能建立如UNIX,Linux,NTFS,OS2等 *** 作系统分区。4. 没有只能建立一个主DOS分区的限制。且可在保留扩展分区的情况下删除主DOS分区,使您可以重新规划主DOS分区(即C盘)。5. 可手工修改分区参数,并可对分区参数进行检查。6.可隐藏DOS FAT分区。7. 能查看硬盘任意扇区。8. 可备份包括逻辑分区表及各分区引导记录在内的所有硬盘分区信息。9.具有分区表重建功能,能恢复被破坏的分区表。10.几乎所有 *** 作都在内存中进行,由肆历用户自行存盘,可防止误 *** 作。11.具备回溯功能,当您对分区表 *** 作失败后,可用此功能复原。

工具三

DM V955分区低格软件

是一款比较常用的分区、格式化、清零软件。支持大容量硬盘,分区、格式化即快又方便。还可以按容量、柱面进行分区,建立多个启动区。但这要进入手动模式(DM/M)。是装机不可少的工具软件。具体 *** 作为:

进入DM主菜单:(E)asy Disk Installation

(A)dvanced Options

(V)iew/Print Online Manual

Exit Disk Manager

选择(A)dvanced Options进入:

(A)dvanced Disk Manager

(M)aintenance options

(U)pgrade Disk Manager

要进行分区、格式化选:(A)dvanced Disk Manager

选择硬盘后按提示进行分区(可默认选择或手支选择)格式化

要进行低格、改容量选:(M)aintenance options

进入(U)tilitions: Zero Fill Drive(清零)

Low Level Format(低格)

Set Drives Size(设置容量)

工具四

ADM测试、修复软件

ADM是一款比较老的硬盘检测、修复工具软件,最大可支持8.4G的硬盘,大于8.4G的硬盘虽可显示出来,但不能检测出8.4G后的坏道。其检测硬盘是按硬盘的柱面数进行的,检测速度比一般的硬盘检测软件要快,也比较直观,坏的柱面将会自动显示出来。这也是至今还是在用着它的原因。

在DOS下输入:

adm↙

Warning:data on the drive 0 will be erased,proceed……(Y/N)? 只有当硬盘第一次使用ADM或被低格情况下才会出现。进入后在“Drive”中选择所要检测的硬盘,如果是只有一个硬盘的话就不用了。在“Preformat”中选择“Verify"或按“F4”进行检测硬盘。出现坏道后会自动在Editing field的小窗口中的Defect List(缺陷表)显示出坏道数,在出现坏道时须马上用笔记录所坏的柱面数(Cylinder)、磁头(Head)数。检测完后就选用“Preformat”中的“Format track"或“F3”按两次回车后输入记贺悔录下来的柱面数、磁头数,就可进行修复了。修完了再检测,不行再修。不过ADM的修复能力禅雹正有限,不如Hdd Speed、Thdd等工具软件。

工具五

THDD测试、修复工具

THDD可以测试硬盘的坏道,还可以对检测出来的坏道进行修复。具体 *** 作为:

进入THDD选择硬盘

出现主菜单:CLEAR FAT

CLEAR MBR

SURFACE TEST

VIEW DEFECT LIST

CHOICE DRIVE

EXIT

THDD的修复坏道功能个人认为要比HDD SPEED要强,但THDD必须要先用SURFACE TEST 检测完坏道后按R键进行修复,这样就有点像ADM的功能一样。维修时间要比较慢,没有HDD SPEED边测边修功能快。

工具六

HDDREG修复工具

"硬盘再生器"的优势--HDDR通过将磁性逆转来使坏道再生。如果您的硬盘有坏道,不仅影响使用,而且还有可能造成所存储的信息丢失,HDDR将使您的硬盘得到再生(差不多60%的受损硬盘是可以修复的)。结果是,不可读取的受损信息被修复,现有的信息不会受到影响。

最低系统环境--本软件是针对Windows *** 作系统做了优化的,直接在Windows 95/98/ME环境下九可以直接开始修复过程。虽然在Windows NT/2000/XP *** 作系统下HDDR也是可以使用的,但此时它不能在Windows环境下直接调用,您可以用它建立一张可引导的修复软盘。

如何使用本软件--在电脑上安装HDDR,打开HDDR后就可以开始修复、建立修复引导软盘、购买或注册了。如果您使用的是非注册版本,您就只能修复找到的第一个坏道。未注册的演示版本的主要目的是显示出已注册完整版能够修复的坏道信息,这个信息在修复过程结束后会显示在屏幕上,注册版会仔细地检测硬盘盘面并且修复所有找到的坏道。

要开始修复,请启动HDDR的控制台(Console Application),这个控制台将会执行修复工作。如果在Windows 95/98/ME下,您可以直接启动控制台;如果在Windows NT/2000/XP下,您可以建立可引导的修复软盘。

要想直接从Windows下启动控制台:

1、启动HDDR;

2、选择Regeneration菜单下的Start 。。Regeneration项。

要想建立可引导的修复软盘:

1、启动HDDR;

2、选择Regeneration菜单下的Create Diskette项;

3、软盘建立完后,用这张软盘重新启动电脑,HDDR的控制台会自动装入。

如何使用HDDR的控制台--在启动的控制台后,

1、选择要修复的硬盘;

2、输入起始参数值。如果您想对整个硬盘进行扫描,就将此参数设为0。如果您不想从头扫描硬盘,就输入一个起始参数值。比如,您知道硬盘的开头5G是好的,为了节省时间不想扫描这开头的5G,您就可以将起始参数值设置为带m的5000m或不带m的2560000(扇区数5000X512=2560000);

3、等待扫描过程结束。如果您使用的是未注册版本,屏幕上会显示出已注册完整版将能修复的坏道报告。如果您使用的是已注册版本,您会发现已修复的坏道报告被保存在了hddreg.log文件当中。

如何注册--要想注册,请启动HDDR。如果您已经购买了注册版,选择"完整版"(Full Version)-选择"在线购买"(Purchase Online)或"通过网络购买"(Buy via Web)来对软件进行在线注册。注册后,HDDR的完整版可以使用了。

重要提示--HDDR直接工作于硬件底层,不会影响硬盘的逻辑结构。即使您的硬盘已经得到修复,文件系统可能仍会保持着早先所标记的坏道信息,如果您想清除这些早先的坏道信息,可以用PQ(分区魔术师)之类的软件对硬盘重新分区。

工具七

DFT测试、修复工具

DFT(Drive Fitness Test)是IBM公司为PC硬盘开发的数据保护技术,它通过DFT程序访问IBM硬盘中的DFT微代码,以对硬盘的完好性进行检验。DFT程序是基于S.M.A.R.T(Self_Monitoring Analysis and Reporting Technology,自检测、分析和报告技术),其具有错误检验及自检测功.

DFT程序诊断完后把硬盘分为下下列四种状态:

1.硬盘有缺点

2.硬盘已经由于震动而损坏

3.硬盘将要衰减(S.M.A.R.T flag set)

4.硬盘可以正常使用,不需要进行返修或换盘

DFT软件支持三种诊断模式,分别是快速诊断(Quick Test)、媒介扫描(Media Scan)与运用(Exerciser)

在快速诊断(Quick Test)中DFT执行:

1.检验功能

2.读取及分析硬盘的错误历史

3.检验S.M.A.R.T功能

4.基于PES对硬盘进行机械性能进行分析

5.用每一个磁头进行读/写检正

6.扫描前500K的扇区(重要数据及程序保存在此部份扇区)

完成一次快速诊断所需时间不超过2分钟,它可以检查出90%的错误。

媒介扫描(Media Scan)

在媒介扫描工作模式中,DFT执行快速诊断同时对每个扇区的数据完整性进行检正,此模式预计完成一次诊断需要15~30分钟(不同的容量硬盘完成诊断时间不同)。此工作模式设计为OEM系统制造商对硬盘进行表面媒介扫描,当然用户若怀疑自己磁盘表面有故障,也可以用此方法来对其进行扫描。媒介扫描模式将扫描硬盘的所有扇区(包括那此在DFT微代码中记录着有错误历史的扇区)。而快速诊断就是由于它避开了在此部份,所以完成一次快速诊断所需时间不到2分钟

运用模式(Exerciser)

此模式可按用户特定的时间来对硬盘进行随机的读写,此模式可用来诊断时有进无的错误

从1998 后出产的IBM Desktop 及 Bobile 硬盘可以全面地支持DFT 微代码,同时DFT程序支持从1995以后的 IBM ATA 硬盘。不久以后SCSI也将会支持DFT。

工具八

WDC测试、修复工具

WDCLEAR是西数低格程序,主要功能有检测和清零。具体 *** 作为:

一、选择驱动器

二、检测驱动器

三、驱动器清零

四、退出,

在清零或检测时按英文提示键入R、Y就可以了,但最好是先保存硬盘里的数据。现在的版本最大支持8.4G。功能也不强大。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12378341.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-23
下一篇2023-05-23

发表评论

登录后才能评论

评论列表(0条)

    保存