A novel met hod t o p artially compensate sigma2delta shap ed noise is p rop osed. By injecting t he comp en2 sation cur rent int o t he p assive loop f ilte r during t he delay time of t he p hase f requency detect or ( PFD) , a maximum reduction of t he p hase noise by about 16dB can be achieved. Comp a red t o ot he r compensation met hods , t he tech2 nique p rop osed he re is relatively simple and easy t o implement . Key building blocks f or realizing t he noise cancel2 lation , including t he delay va riable PFD and comp ensation cur rent source , a re sp ecially designed. Bot h t he behavior level and circuit level simulation results a re p resented.
标签: sigma2delta compensate injecting artially
上传时间: 2013-12-18
上传用户:qlpqlq
This document describes how to switch to and program the unisersal serial bus (USB) analog phase-locked loop (APLL) on the C5506/C5507/C5509A devices. Example assembly programs for programming and switching to and from the APLL are also provided in the attached zip file. It is assumed that the reader is familiar with the use and operation of the C5506/C5507/C5509A USB digital phase-locked loop (DPLL) and C55x™ Digital Signal Processor (DSP) IDLE procedures.
标签: describes unisersal document phase-lo
上传时间: 2014-01-13
上传用户:hustfanenze
以传统的C/SDK 撰写Windows 程序,最大的好处是可以清楚看见整个程序的来龙去脉 和消息动向,然而这些重要的动线在MFC 应用程序中却隐晦不明,因为它们被Application Framework 包起来了。这一章主要目的除了解释MFC 应用程序的长像,也要从MFC 源代 码中检验出一个Windows 程序原本该有的程序进入点(WinMain)、视窗类别注册 (RegisterClass)、窗口产生(CreateWindow)、消息循环(Message Loop)、窗口函数 (WindowProcedure)等等动作,抽丝剥茧彻底了解一个MFC 程序的诞生与结束,以及生 命过程。
上传时间: 2017-03-22
上传用户:athjac
合众达的DM642示例工程,包括视频loop,spi接口,SD卡,i2c接口,FLASH自动boot
上传时间: 2017-04-13
上传用户:jing911003
Servomotors are available as AC or DC motors. Early servomotors were generally DC motors because the only type of control for large currents was through SCRs for many years. As transistors became capable of controlling larger currents and switching the large currents at higher frequencies, the AC servomotor became used more often. Early servomotors were specifically designed for servo amplifiers. Today a class of motors is designed for applica-tions that may use a servo amplifier or a variable-frequency controller, which means that a motor may be used in a servo system in one application, and used in a variable-frequency drive in another application. Some companies also call any closed-loop system that does not use a stepper motor a servo system, so it is possible for a simple AC induction motor that is connected to a velocity controller to be called a servomotor.
标签: motors Servomotors servomotors available
上传时间: 2014-08-10
上传用户:源码3
program to solve a finite difference discretization of Helmholtz equation : (d2/dx2)u + (d2/dy2)u - alpha u = f using Jacobi iterative method. COMMENTS: OpenMP version 3: 1 PR outside the iteration loop, 4 Barriers Directives are used in this code to achieve paralleism. All do loops are parallized with default static scheduling.
标签: discretization difference Helmholtz equation
上传时间: 2014-01-11
上传用户:bruce5996
Two scripts are included here. 1. convsys.m - combines the state space representation of two systems connected in series. [Ao,Bo,Co,Do]=convsys(A1,B1,C1,D1,A2,B2,C2,D2) This algorithm gives the convolution of two state space representations | A1 B1 | | A2 B2 | u ==> | | ==> | | ==> y | C1 D1 | | C2 D2 | The algorithm also accepts state space objects as inputs and gives out a state space object as output. 2. sysfeedbk.m [Ao,Bo,Co,Do]=convsys(A1,B1,C1,D1,A2,B2,C2,D2) Gives the closed loop state space representation for two systems connected with negative feedback in the following manner. | A1 B1 | u ==> | | ==> y + o | C1 D1 | | - | | | | A2 B2 | | |= | |= | | C2 D2 | The zip file also contains checkcompatibility.m , which checks the compatibility of matrix dimensions in the system and cleanss.m which can be used to clean a state space representation.
标签: representation included combines scripts
上传时间: 2017-07-25
上传用户:semi1981
TI达芬奇dm644x各硬件模块测试代码,包括nor flash、nand flsh、ddr2 ram、video loop back等。
上传时间: 2017-09-16
上传用户:jichenxi0730
DATAS SEGMENT w dw 0 keybuf db 255 db 0 db 255 dup(0) ;定义键盘输入需要的缓冲区 DATAS ENDS STACKS SEGMENT db 200 dup(?) STACKS ENDS CODES SEGMENT ASSUME CS:CODES,DS:DATAS,SS:STACKS START: MOV AX,DATAS MOV DS,AX mov dx,offset keybuf ;用0a号功能,输入一个字符串 mov ah,0ah ;用回车结束 int 21h mov dl,0ah ;再进行换行,以便在下一行显示转换后的字符串 mov ah,2 int 21h ; push ax ; push dx ; mov dl,cl ; mov ah,02 ; int 21h ; pop dx ; pop ax mov bx,offset keybuf+1 ;取出字符串的字符个数,作为循环的次数 mov cl,[bx] mov ch,0 mov ax,0 again: inc bx mov ax,[w] push bx mov bx,16 mul bx pop bx ;是小写字母,则转换为大写字母 mov [w],ax mov dl,[bx] ;取出一个字符, cmp dl,'9' jbe lab1 cmp dl,'F' jbe lab2 sub dl,32 lab2: sub dl ,07h lab1: sub dl,30h add [w],dx loop again mov ax,[w] mov bx,-1 push bx mov bx,10 lab3 :mov dx,0 div bx push dx cmp ax,0 jnz lab3 lab5: pop dx cmp dx,-1 jz lab4 add dl,30h mov ah,02 int 21h jmp lab5 ;循环,处理完整个字符串 lab4: MOV AH,4CH INT 21H CODES ENDS END START
标签: 汇编
上传时间: 2015-04-02
上传用户:wcc0310
// 学生管理.cpp : Defines the entry point for the application. // #include "stdafx.h" #include "resource.h" #define MAX_LOADSTRING 100 // Global Variables: HINSTANCE hInst; // current instance TCHAR szTitle[MAX_LOADSTRING]; // The title bar text TCHAR szWindowClass[MAX_LOADSTRING]; // The title bar text // Foward declarations of functions included in this code module: ATOM MyRegisterClass(HINSTANCE hInstance); BOOL InitInstance(HINSTANCE, int); LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); LRESULT CALLBACK About(HWND, UINT, WPARAM, LPARAM); struct person { char name[10]; int ID; int cj_yw; int cj_sx; struct person* next; struct person* pro; }per; int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { // TODO: Place code here. MSG msg; HACCEL hAccelTable; // Initialize global strings LoadString(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING); LoadString(hInstance, IDC_MY, szWindowClass, MAX_LOADSTRING); MyRegisterClass(hInstance); // Perform application initialization: if (!InitInstance (hInstance, nCmdShow)) { return FALSE; } hAccelTable = LoadAccelerators(hInstance, (LPCTSTR)IDC_MY); // Main message loop: while (GetMessage(&msg, NULL, 0, 0)) { if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg)) { TranslateMessage(&msg); DispatchMessage(&msg); } } return msg.wParam; } // // FUNCTION: MyRegisterClass() // // PURPOSE: Registers the window class. // // COMMENTS: // // This function and its usage is only necessary if you want this code // to be compatible with Win32 systems prior to the 'RegisterClassEx' // function that was added to Windows 95. It is important to call this function // so that the application will get 'well formed' small icons associated // with it. // ATOM MyRegisterClass(HINSTANCE hInstance) { WNDCLASSEX wcex; wcex.cbSize = sizeof(WNDCLASSEX); wcex.style = CS_HREDRAW | CS_VREDRAW; wcex.lpfnWndProc = (WNDPROC)WndProc; wcex.cbClsExtra = 0; wcex.cbWndExtra = 0; wcex.hInstance = hInstance; wcex.hIcon = LoadIcon(hInstance, (LPCTSTR)IDI_MY); wcex.hCursor = LoadCursor(NULL, IDC_ARROW); wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW+1); wcex.lpszMenuName = (LPCSTR)IDC_MY; wcex.lpszClassName = szWindowClass; wcex.hIconSm = LoadIcon(wcex.hInstance, (LPCTSTR)IDI_SMALL); return RegisterClassEx(&wcex); } // // FUNCTION: InitInstance(HANDLE, int) // // PURPOSE: Saves instance handle and creates main window // // COMMENTS: // // In this function, we save the instance handle in a global variable and // create and display the main program window. // BOOL InitInstance(HINSTANCE hInstance, int nCmdShow) { HWND hWnd; hInst = hInstance; // Store instance handle in our global variable hWnd = CreateWindow(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL); if (!hWnd) { return FALSE; } ShowWindow(hWnd, nCmdShow); UpdateWindow(hWnd); return TRUE; } // // FUNCTION: WndProc(HWND, unsigned, WORD, LONG) // // PURPOSE: Processes messages for the main window. // // WM_COMMAND - process the application menu // WM_PAINT - Paint the main window // WM_DESTROY - post a quit message and return // // LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { int wmId, wmEvent; PAINTSTRUCT ps; HDC hdc; TCHAR szHello[MAX_LOADSTRING]; LoadString(hInst, IDS_HELLO, szHello, MAX_LOADSTRING); switch (message) { case WM_COMMAND: wmId = LOWORD(wParam); wmEvent = HIWORD(wParam); // Parse the menu selections: switch (wmId) { case IDM_ABOUT: DialogBox(hInst, (LPCTSTR)IDD_ABOUTBOX, hWnd, (DLGPROC)About); break; case IDM_EXIT: DestroyWindow(hWnd); break; default: return DefWindowProc(hWnd, message, wParam, lParam); } break; case WM_PAINT: hdc = BeginPaint(hWnd, &ps); // TODO: Add any drawing code here... RECT rt; GetClientRect(hWnd, &rt); DrawText(hdc, szHello, strlen(szHello), &rt, DT_CENTER); EndPaint(hWnd, &ps); break; case WM_DESTROY: PostQuitMessage(0); break; default: return DefWindowProc(hWnd, message, wParam, lParam); } return 0; } // Mesage handler for about box. LRESULT CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) { switch (message) { case WM_INITDIALOG: return TRUE; case WM_COMMAND: if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL) { EndDialog(hDlg, LOWORD(wParam)); return TRUE; } break; } return FALSE; }
上传时间: 2016-12-29
上传用户:767483511