亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

蟲蟲首頁| 資源下載| 資源專輯| 精品軟件
登錄| 注冊

計算領(lǐng)域

  • 多時鐘域的異步信號的參考解決

    多時鐘域的異步信號的參考解決

    標簽: 多時鐘域 異步信號

    上傳時間: 2013-11-06

    上傳用戶:極客

  • 基于NSCT域各向異性雙變量萎縮圖像去噪

    提出了一種用各向異性雙變量拉普拉斯函數模型去模擬NSCT域的系數的圖像去噪算法,這種各向異性雙邊拉普拉斯模型不僅考慮了NSCT系數相鄰尺度間的父子關系,同時滿足自然圖像不同尺度間NSCT系數方差具有各向異性的特征,基于這種統計模型,文中先推導出了一種各向異性雙變量收縮函數的近似形式,然后基于貝葉斯去噪法和局部方差估計將這種新的閾值收縮函數應用于NSCT域,實驗結果表明文中提出的方法同小波域 BiShrink算法、小波域ProbShrink算法、小波域NeighShrink算法相比,能夠有效地去除圖像的高斯噪聲,提高了圖像的峰值信噪比;并較完整地保持了圖像的紋理和邊緣等細節信息,從而明顯改善了圖像的視覺效果。

    標簽: NSCT 變量 圖像去噪

    上傳時間: 2013-10-23

    上傳用戶:thuyenvinh

  • 基于Contourlet域HMT模型的Cycle Spinning去噪方法

    為了提高圖像去噪效果,提出了基于Contourlet域HMT模型的Cycle Spinning去噪方法。首先將待去噪圖像進行循環平移,使用Contourlet域HMT模型對平移后的圖像進行降噪處理,然后將降噪后的圖像進行循環反平移,最后將不同循環平移量下的降噪圖像進行平均處理,以減少去噪后圖像的失真。實驗結果表明,該方法不僅可以提高降噪后圖像峰值信噪比,而且可以提高降噪后圖像的視覺效果。

    標簽: Contourlet Spinning Cycle HMT

    上傳時間: 2014-12-23

    上傳用戶:ddddddos

  • 時鐘抖動時域分析(下)

    時鐘抖動時域分析(下):

    標簽: 時鐘抖動 時域分析

    上傳時間: 2013-11-18

    上傳用戶:rocketrevenge

  • 實用電工速算口訣

    電工快速口算

    標簽: 實用電工 速算

    上傳時間: 2014-01-23

    上傳用戶:yt1993410

  • 基于GA與L-M優化算法的變壓器故障診斷研究

    利用MATLAB環境建立一個用于變壓器故障診斷的BP網絡模型。首先利用具有全局尋優功能的遺傳算法對BP神經網絡的初始權值和閾值進行優化,然后采用L-M(Levenberg-Marquardt)優化算法對BP神經網絡進行訓練,從而達到加快網絡訓練速度,避免訓練過程陷入局部極小點的目的。最后,詳細記錄網絡的實際輸出,并與期望輸出做對比研究,最終證實了此網絡達到了設計要求,可用于變壓器的故障診斷。

    標簽: L-M 優化算法 變壓器 故障診斷

    上傳時間: 2013-10-11

    上傳用戶:hz07104032

  • 多電壓域電源設計

    多電壓域電源設計

    標簽: 電壓 電源設計

    上傳時間: 2013-11-12

    上傳用戶:stst

  • 計算器(可以算好多東西)

    可以算RC常數,色環電阻,電阻串并聯,變壓器,有源濾波,無源濾波,二分頻,三分頻等

    標簽: 計算器

    上傳時間: 2013-10-12

    上傳用戶:黃蛋的蛋黃

  • 抽樣z變換頻率抽樣理論

    抽樣z變換頻率抽樣理論:我們將先闡明:(1)z變換與DFT的關系(抽樣z變換),在此基礎上引出抽樣z變換的概念,并進一步深入討論頻域抽樣不失真條件。(2)頻域抽樣理論(頻域抽樣不失真條件)(3)頻域內插公式一、z變換與DFT關系 (1)引入連續傅里葉變換引出離散傅里葉變換定義式。離散傅里葉變換看作是序列的傅里葉變換在 頻 域 再 抽 樣 后 的 變 換 對.在Z變換與L變換中,又可了解到序列的傅里葉 變換就是單位圓上的Z 變 換.所以對序列的傅里葉變換進行頻域抽樣時, 自 然可以看作是對單位圓上的 Z變換進行抽樣. (2)推導Z 變 換 的 定 義 式 (正 變 換) 重 寫 如 下:  取z=ejw 代 入 定 義 式,  得 到 單 位 圓 上 Z 變 換 為w是 單 位 圓 上 各 點 的 數 字 角 頻 率.再 進 行 抽 樣-- N 等 分.這 樣w=2kπ/N, 即w值為0,2π/N,4π/N,6π/N…, 考慮到x(n)是N點有限長序列, 因而n只需0~N-1即可。將w=2kπ/N代入并改變上下限,  得 則這正是離散傅里葉變換 (DFT)正變換定義式.

    標簽: 抽樣 變換 頻率

    上傳時間: 2014-12-28

    上傳用戶:zhaistone

  • 驅動程序與應用程序的接口

    有兩種方式可以讓設備和應用程序之間聯系:1. 通過為設備創建的一個符號鏈;2. 通過輸出到一個接口WDM驅動程序建議使用輸出到一個接口而不推薦使用創建符號鏈的方法。這個接口保證PDO的安全,也保證安全地創建一個惟一的、獨立于語言的訪問設備的方法。一個應用程序使用Win32APIs來調用設備。在某個Win32 APIs和設備對象的分發函數之間存在一個映射關系。獲得對設備對象訪問的第一步就是打開一個設備對象的句柄。 用符號鏈打開一個設備的句柄為了打開一個設備,應用程序需要使用CreateFile。如果該設備有一個符號鏈出口,應用程序可以用下面這個例子的形式打開句柄:hDevice = CreateFile("\\\\.\\OMNIPORT3",  GENERIC_READ | GENERIC_WRITE,FILE_SHARE_READ,  NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL ,NULL);文件路徑名的前綴“\\.\”告訴系統本調用希望打開一個設備。這個設備必須有一個符號鏈,以便應用程序能夠打開它。有關細節查看有關Kdevice和CreateLink的內容。在上述調用中第一個參數中前綴后的部分就是這個符號鏈的名字。注意:CreatFile中的第一個參數不是Windows 98/2000中驅動程序(.sys文件)的路徑。是到設備對象的符號鏈。如果使用DriverWizard產生驅動程序,它通常使用類KunitizedName來構成設備的符號鏈。這意味著符號鏈名有一個附加的數字,通常是0。例如:如果鏈接名稱的主干是L“TestDevice”那么在CreateFile中的串就該是“\\\\.\\TestDevice0”。如果應用程序需要被覆蓋的I/O,第六個參數(Flags)必須或上FILE_FLAG_OVERLAPPED。 使用一個輸出接口打開句柄用這種方式打開一個句柄會稍微麻煩一些。DriverWorks庫提供兩個助手類來使獲得對該接口的訪問容易一些,這兩個類是CDeviceInterface, 和 CdeviceInterfaceClass。CdeviceInterfaceClass類封裝了一個設備信息集,該信息集包含了特殊類中的所有設備接口信息。應用程序能有用CdeviceInterfaceClass類的一個實例來獲得一個或更多的CdeviceInterface類的實例。CdeviceInterface類是一個單一設備接口的抽象。它的成員函數DevicePath()返回一個路徑名的指針,該指針可以在CreateFile中使用來打開設備。下面用一個小例子來顯示這些類最基本的使用方法:extern GUID TestGuid;HANDLE OpenByInterface(  GUID* pClassGuid,  DWORD instance,  PDWORD pError){  CDeviceInterfaceClass DevClass(pClassGuid, pError);  if (*pError != ERROR_SUCCESS)    return INVALID_HANDLE_VALUE;  CDeviceInterface DevInterface(&DevClass, instance, pError);  if (*pError != ERROR_SUCCESS)    return INVALID_HANDLE_VALUE;  cout << "The device path is "    << DevInterface.DevicePath()    << endl;   HANDLE hDev;  hDev = CreateFile(   DevInterface.DevicePath(),    GENERIC_READ | GENERIC_WRITE,    FILE_SHARE_READ | FILE_SHARE_WRITE,    NULL,    OPEN_EXISTING,    FILE_ATTRIBUTE_NORMAL,    NULL  );  if (hDev == INVALID_HANDLE_VALUE)    *pError = GetLastError();  return hDev;} 在設備中執行I/O操作一旦應用程序獲得一個有效的設備句柄,它就能使用Win32 APIs來產生到設備對象的IRPs。下面的表顯示了這種對應關系。Win32 API  DRIVER_FUNCTION_xxxIRP_MJ_xxx  KDevice subclass member function CreateFile  CREATE  Create ReadFile  READ  Read WriteFile  WRITE  Write DeviceIoControl  DEVICE_CONTROL  DeviceControl CloseHandle  CLOSECLEANUP  CloseCleanUp 需要解釋一下設備類成員的Close和CleanUp:CreateFile使內核為設備創建一個新的文件對象。這使得多個句柄可以映射同一個文件對象。當這個文件對象的最后一個用戶級句柄被撤銷后,I/O管理器調用CleanUp。當沒有任何用戶級和核心級的對文件對象的訪問的時候,I/O管理器調用Close。如果被打開的設備不支持指定的功能,則調用相應的Win32將引起錯誤(無效功能)。以前為Windows95編寫的VxD的應用程序代碼中可能會在打開設備的時候使用FILE_FLAG_DELETE_ON_CLOSE屬性。在Windows NT/2000中,建議不要使用這個屬性,因為它將導致沒有特權的用戶企圖打開這個設備,這是不可能成功的。I/O管理器將ReadFile和WriteFile的buff參數轉換成IRP域的方法依賴于設備對象的屬性。當設備設置DO_DIRECT_IO標志,I/O管理器將buff鎖住在存儲器中,并且創建了一個存儲在IRP中的MDL域。一個設備可以通過調用Kirp::Mdl來存取MDL。當設備設置DO_BUFFERED_IO標志,設備對象分別通過KIrp::BufferedReadDest或 KIrp::BufferedWriteSource為讀或寫操作獲得buff地址。當設備不設置DO_BUFFERED_IO標志也不設置DO_DIRECT_IO,內核設置IRP 的UserBuffer域來對應ReadFile或WriteFile中的buff參數。然而,存儲區并沒有被鎖住而且地址只對調用進程有效。驅動程序可以使用KIrp::UserBuffer來存取IRP域。對于DeviceIoControl調用,buffer參數的轉換依賴于特殊的I/O控制代碼,它不在設備對象的特性中。宏CTL_CODE(在winioctl.h中定義)用來構造控制代碼。這個宏的其中一個參數指明緩沖方法是METHOD_BUFFERED, METHOD_IN_DIRECT, METHOD_OUT_DIRECT, 或METHOD_NEITHER。下面的表顯示了這些方法和與之對應的能獲得輸入緩沖與輸出緩沖的KIrp中的成員函數:Method  Input Buffer Parameter  Output Buffer Parameter METHOD_BUFFERED  KIrp::IoctlBuffer KIrp::IoctlBuffer METHOD_IN_DIRECT  KIrp::IoctlBuffer KIrp::Mdl METHOD_OUT_DIRECT  KIrp::IoctlBuffer KIrp::Mdl METHOD_NEITHER  KIrp::IoctlType3InputBuffer KIrp::UserBuffer 如果控制代碼指明METHOD_BUFFERED,系統分配一個單一的緩沖來作為輸入與輸出。驅動程序必須在向輸出緩沖放數據之前拷貝輸入數據。驅動程序通過調用KIrp::IoctlBuffer獲得緩沖地址。在完成時,I/O管理器從系統緩沖拷貝數據到提供給Ring 3級調用者使用的緩沖中。驅動程序必須在結束前存儲拷貝到IRP的Information成員中的數據個數。如果控制代碼不指明METHOD_IN_DIRECT或METHOD_OUT_DIRECT,則DeviceIoControl的參數呈現不同的含義。參數InputBuffer被拷貝到一個系統緩沖,這個緩沖驅動程序可以通過調用KIrp::IoctlBuffer。參數OutputBuffer被映射到KMemory對象,驅動程序對這個對象的訪問通過調用KIrp::Mdl來實現。對于METHOD_OUT_DIRECT,調用者必須有對緩沖的寫訪問權限。注意,對METHOD_NEITHER,內核只提供虛擬地址;它不會做映射來配置緩沖。虛擬地址只對調用進程有效。這里是一個用METHOD_BUFFERED的例子:首先,使用宏CTL_CODE來定義一個IOCTL代碼:#define IOCTL_MYDEV_GET_FIRMWARE_REV \CTL_CODE (FILE_DEVICE_UNKNOWN,0,METHOD_BUFFERED,FILE_ANY_ACCESS)現在使用一個DeviceIoControl調用:BOOLEAN b;CHAR FirmwareRev[60];ULONG FirmwareRevSize;b = DeviceIoControl(hDevice, IOCTL_MYDEV_GET_VERSION_STRING,  NULL, // no input  注意,這里放的是包含有執行操作命令的字符串指針  0, FirmwareRev,      //這里是output串指針,存放從驅動程序中返回的字符串。sizeof(FirmwareRev),& FirmwareRevSize,  NULL // not overlapped I/O );如果輸出緩沖足夠大,設備拷貝串到里面并將拷貝的資結束設置到FirmwareRevSize中。在驅動程序中,代碼看起來如下所示:const char* FIRMWARE_REV = "FW 16.33 v5";NTSTATUS MyDevice::DeviceControl( KIrp I ){  ULONG fwLength=0;  switch ( I.IoctlCode() )  {    case IOCTL_MYDEV_GET_FIRMWARE_REV:      fwLength = strlen(FIRMWARE_REV)+1;      if (I.IoctlOutputBufferSize() >= fwLength)      {        strcpy((PCHAR)I.IoctlBuffer(),FIRMWARE_REV);        I.Information() = fwLength;         return I.Complete(STATUS_SUCCESS);      }      else      {              }    case . . .   } }

    標簽: 驅動程序 應用程序 接口

    上傳時間: 2013-10-17

    上傳用戶:gai928943

主站蜘蛛池模板: 海盐县| 肇东市| 多伦县| 车致| 颍上县| 江源县| 邵武市| 隆林| 西林县| 威海市| 旬阳县| 福清市| 郧西县| 四子王旗| 鹤山市| 灵石县| 临江市| 甘孜| 西乡县| 犍为县| 定襄县| 永吉县| 得荣县| 敦煌市| 同心县| 大荔县| 从化市| 寻乌县| 定结县| 平定县| 龙口市| 翼城县| 忻州市| 如东县| 麻阳| 土默特右旗| 嵩明县| 株洲市| 桓台县| 舒兰市| 化隆|