دوشنبه دوم اردیبهشت 1387
قسمت دوم - ترجمه فارسی
کامپیوترهای دیجیتالی خیلی زبردست و ماهراست درانبار و یادآوری شماره ها و اعداد ولی متاسفانه این فرایند بدون غلط نیست برای مثال شما به کامپیوتر دستور می دهید که یک شماره را برای شما ذخیره بکند . مثلاً 1.41421356 ، کامپیوتراین کار را به نحو احسن انجام می دهد وآن را ذخیره می کند ، و بعد این شماره را خیلی نزدیک به همان عدد نمایش می دهد 1.41421354 ، در بعضی از خطاها این اشتباهات کاملاً ناقص است و اشتباهات خیلی نزدیک به صحیح می باشد ، ولی دربعضی از فرایندهای دیگر ممکن است آسیب پذیرباشد . ودر تشریح دیگر ، اشتباهات کلاسیک تحریک فرایند و یا یک جمع است ، مثلاً فرایند جمع دو عدد مانند یک عدد با یک عددی که چند شماره ای وطولانی است مانند 0.000001 و 1 ما این انتظار را داریم که جواب بدهد عدد 1.000001 ولی جواب کامپیوتر 1 است برای فهمیدن اینکه چگونه کامپیوتر آن را ذخیره و اداره می کند ( شماره ها ) به شما اجازه می دهیم که انتظار این را داشته باشید ومچ کنیداین برنامه ها را قبل از اینکه پیشرفتی دراطلاعات بی معنا داشته باشد . این مساله ها ناشی شده از عدد ثابت شده بیتی که به هر ذخیره شماره مربوط داده شده است بدین معنی که هر شماره اثبات شده بیتی مربوط به یک شماره ذخیره شده و ذخیره شونده است ، معمولاً 64 یا 32 و 16 و 8 برای مثال فکر کنید در حالت محل 8 بیتی برای ذخیره شماره دیکر و تغییرات بعدی دیگر در نظر گرفته می شود مثلاً 28=256 احتمال آنکه با قالب بیت می تواند تغیرات با 256 عدد مختلف یا حالات مختلف سنجیده شود ، در واقع این جایگزینی محدودیت بنیادی است ، و الگوی بیت و واحد بیت است که بر اساس آن اعداد سنجیده می شود و ما هیچ کاری درباره آن نمی توانیم انجام دهیم قسمتی که ما می توانیم کنترل کنیم آن است که چه مقدار را می توانیم از الگوی بیت تنظیم کنیم در واقع مقدار بر اساس بیت را ما اعلام می کنیم و اظهار می نماییم که کامپیوتر نمایش بدهد در واقع ما دستور بده هستیم و کامپیوتر انجام بده ، در حالتهای ساده ، 256 بیت می تواند به حالت عدد 255 بده و 256 118 تا 127 نمایش داده شود . در خیلی از برنامه های غیر معمول 256 بیت ممکن است به طور تجربی وابسته نمایش داده شود مانند 10255 و 10256و..... و 1000 و 100 و 10 و 1 .
هر کسی که به اطلاعات دسترسی دارد باید این را بداند چه مقدار از الگو یا قالب بیت باید نمایش داده شود ، این معمولاً از طریق الگوریتم و فرمولهای خاص انجام می گیرد که نقش تبدیل کنندگی بین اطلاعات و مقدار نمایش داده شده وبه نظیرمشابه آن در واحد بیت و دوباره برگشت .
هنگامیکه خیلی از کد گذاری احتمال دارد و فقط دو نوع از این فرمتها پذیرفته شده و رایج هستند ، fixpoint که معمولاً به نام اعداد کامل شناسایی شده اند ، دراین کتاب ( برنامه های بیسیک ) fixpoint یا اعداد کامل قابل ذخیره هستند و با سنبل درصد نمایش داده شده اند در نقش حرف دوم از اسم و یا قسمت دوم دراسم مانند %I و یا %N و دیگر متغیرهای اعداد واقعی هستند مانند مثال ..... و Y و X وقتی شما فرمت را در صفحات کم بعدی ارزیابی می کنید سعی کنید که آن را بفهمید و حدود تغیرات و دامنه این اعداد را ( از شماره بزرگ و بین شماره کوچک ) را و همین رقم دقیق ودقت را دردامنه اعداد بدست آورد .
دوشنبه دوم اردیبهشت 1387
قسمت دوم - انگلیسی
While computer hardware and programming languages are important for maximizing execution speed, they are not something you change on a day-to day basis. In comparison, how you program can be changed at any time, and will drastically affect how long the program will require to execute. Here are three suggestions.
First, use integers instead of floating point variables whenever possible. Conventional microprocessors, such as used in personal computers, process integers 10 to 20 times faster than floating point numbers. On systems without a math coprocessor, the difference can be 200 to 1. An exception to this is integer division, which is often accomplished by converting the values into floating point. This makes the operation ghastly slow compared to other integer calculations. See Table 4-6 for details.
Second, avoid using functions such as: , etc. These transcendental functions are calculated as a series of additions, subtractions and multiplications. For example, the Maclaurin power series provides:

While these relations are infinite in length, the terms rapidly become small enough to be ignored. For example:
These functions require about ten times longer to calculate than a single addition or multiplication (see Table 4-6). Several tricks can be used to bypass these calculations, such as: x3 = x·x·x; sin(x)≈x, when x is very small; sin(-x) = -sin(x), where you already know one of the values and need to find the other, etc. Most languages only provide a few transcendental functions, and expect you to derive the others by means of the relations in Table 4-7. Not surprisingly, these derived calculations are even slower.

Another option is to precalculate these slow functions, and store the values in a look-up table (LUT). For example, imagine an 8 bit data acquisition system used to continually monitor the voltage across a resistor. If the parameter of interest is the power being dissipated in the resistor, the measured voltage can be used to calculate: P=V2/R. As a faster alternative, the power corresponding to each of the possible 256 voltage measurements can be calculated beforehand, and stored in a LUT. When the system is running, the measured voltage, a digital number between 0 and 255, becomes an index in the LUT to find the corresponding power. Look-up tables can be hundreds of times faster than direct calculation.
Third, learn what is fast and what is slow on your particular system. This comes with experience and testing, and there will always be surprises. Pay particular attention to graphics commands and I/O. There are usually several ways to handle these requirements, and the speeds can be tremendously different. For example, the BASIC command: BLOAD, transfers a data file directly into a section of memory. Reading the same file into memory byte-by-byte (in a loop) can be 100 times as slow. As another example, the BASIC command: LINE, can be used to draw a colored box on the video screen. Drawing the same box pixel-by-pixel can also take 100 times as long. Even putting a print statement within a loop (to keep track of what it is doing) can slow the operation by thousands!
دوشنبه دوم اردیبهشت 1387
قسمت اول - ترجمه فارسی
برنامه کاربردی DSP معمولاً در تمامی زبانها برنامه ریزی می شود ودرتمام علمها و علمهای مهندسی استفاده می شود و در واقع این برنامه تمام علمها ودانش های مهندسی در تمامی زبانها برنامه ریزی می شود مانند CوBASIC و مجموع آنها .
توانایی تطبیق این برنامه و C زبانهایی را به وجود می آورد که قابل برای کامپیوتر ومتخصصان کامپیوتر و سایر برنامه های حرفه ای درآن طرف قضیه به طور مطلق برنامه BASIC می تواند نمونه کامل برای متخصصان ومهندسان باشد که گاه گاه و یا بعضی مواقع تمامی برنامه و نرم افزارها جهان را مشاهده می کنند . صرف نظر از زبانی که شما استفاده می کنید ، خیلی ازبرنامه ها و نرم افزارهای مهم DSP منتشر شده تقریباً در هر ناحیه و کشور استفاده خاصی از آن می شود و در بعضی از جاها این نرم افزار مهم مثل اینند که کاملاً فراموش شده و یا استفاده از آن به صفر رسیده است و همین اساس این برنامه در خیلی از ناحیه ها و قسمتها یا در کل ناحیه و قسمت بر اساس 1و0 می چرخد . و این نوع شامل این می شود که چگونه اعداد و شماره ها نمایش داده شوند بر اساس الگوی واحد ( بیت ) به غیر از اشتباهات حسابگری کامپیوتر و یا صرف نظر از اشتباهات حسابگری کامپیوتر سرعت محاسباتی در انواع مختلف فرایندها ، این فصل درباره وسایل و امکاناتی است که می تواند انجام بدهد درسطح بالا بدون پایمال کردن کارهای درونی کامپیوتر شما .
دوشنبه دوم اردیبهشت 1387
قسمت اول - انگلیسی
DSP applications are usually programmed in the same languages as other science and engineering tasks, such as: C, BASIC and assembly. The power and versatility of C makes it the language of choice for computer scientists and other professional programmers. On the other hand, the simplicity of BASIC makes it ideal for scientists and engineers who only occasionally visit the programming world. Regardless of the language you use, most of the important DSP software issues are buried far below in the realm of whirling ones and zeros. This includes such topics as: how numbers are represented by bit patterns, round-off error in computer arithmetic, the computational speed of different types of processors, etc. This chapter is about the things you can do at the high level to avoid being trampled by the low level internal workings of your computer.