two's complement binary numbers - asdlib.org  · web viewplace value works for binary just as...

44
Number Representation Choose Subtopic Bina ry 2's Complement Binary Hexadecim al Why ADCs Use Integer Math The Nyquist Sampling Theorem Before discussing data conversions, it helps to understand the number systems used, why they're chosen, and how fast conversions must be made to be meaningful. Definition: Analog quantities are those that are (or appear to be) continuously variable. Examples include electric potential, electric current (when the current is high enough that the granularity of individual electrons isn't important), concentration (when high enough that counting individual molecules isn't important), light intensity (when counting individual photons isn't practical), speed, and time. Digital quantities are those that are represented by integers. Any counted quantity (number of photons, electrons, or ions) is inherently digital. Analog quantities can only be approximated by digital numbers. For example, time can be reported as an integer number of years or Biểu diễn số Trước khi thảo luận sự chuyển đổi dữ liệu , việc đó giúp cho chúng ta hiểu về các hệ thống con số sử dụng, tại sao chúng được lựa chọn, và các chuyển đổi phải được thiết lập nhanh tới mức nào để có thể sử dụng được. Định nghĩa: các đại lượng Analog là những đại lượng là (hoặc có vẻ như là) biến số liên tục. các ví dụ bao gồm điện thế, dòng điện (khi dòng điện đủ lớn mà granularity của những hạt electron đơn lẻ không quan trọng nữa), nồng độ (khi đủ lớn mà việc đếm số các phân tử không còn quan trọng), cường độ ánh sáng (khi việc đếm các photon đơn lẻ không thực dụng), tốc độ, thời gian. Các đại lượng số là những đại lượng biểu diễn cho các số nguyên. Bất kỳ một đại lượng đểm được nào (số photon, electron, hoặc ion) đều là inherently số. Các đại lượng analog chỉ có thể tính xấp xỉ bởi các số digital. Thí dụ, thời gian có thể được tính bằng một số nguyên của

Upload: lytu

Post on 29-Dec-2018

239 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Two's Complement Binary Numbers - asdlib.org  · Web viewPlace value works for binary just as it does for the decimal system. In ordinary decimal numbers 234 means 2×100 + 3×10

Number Representation

Choose Subtopic

Binary2's

Complement Binary

Hexadecimal

Why ADCs Use Integer

Math

The Nyquist Sampling Theorem

Before discussing data conversions, it helps to understand the number systems used, why they're chosen, and how fast conversions must be made to be meaningful.

Definition: Analog quantities are those that are (or appear to be) continuously variable. Examples include electric potential, electric current (when the current is high enough that the granularity of individual electrons isn't important), concentration (when high enough that counting individual molecules isn't important), light intensity (when counting individual photons isn't practical), speed, and time.

Digital quantities are those that are represented by integers. Any counted quantity (number of photons, electrons, or ions) is inherently digital. Analog quantities can only be approximated by digital numbers. For example, time can be reported as an integer number of years or nanoseconds (different granularity), but if time is continuous any specific number of time units has forced granularity onto the continuous flow of time.

Biểu diễn số

Trước khi thảo luận sự chuyển đổi dữ liệu , việc đó giúp cho chúng ta hiểu về các hệ thống con số sử dụng, tại sao chúng được lựa chọn, và các chuyển đổi phải được thiết lập nhanh tới mức nào để có thể sử dụng được.

Định nghĩa: các đại lượng Analog là những đại lượng là (hoặc có vẻ như là) biến số liên tục. các ví dụ bao gồm điện thế, dòng điện (khi dòng điện đủ lớn mà granularity của những hạt electron đơn lẻ không quan trọng nữa), nồng độ (khi đủ lớn mà việc đếm số các phân tử không còn quan trọng), cường độ ánh sáng (khi việc đếm các photon đơn lẻ không thực dụng), tốc độ, thời gian.

Các đại lượng số là những đại lượng biểu diễn cho các số nguyên. Bất kỳ một đại lượng đểm được nào (số photon, electron, hoặc ion) đều là inherently số. Các đại lượng analog chỉ có thể tính xấp xỉ bởi các số digital. Thí dụ, thời gian có thể được tính bằng một số nguyên của năm hoặc nano giây ( granularity khác nhau), nhưng nếu thời gian liên tục bất kỳ một số đơn vị thời gian cụ thể nào đều ép granularity lên một dòng thời gian liên tục.

Binary Numbers

Choose Subtopic Binary 2's

Complement Hexadecimal

Why ADCs Use Integer

The Nyquist Sampling

Số nhị phân

Page 2: Two's Complement Binary Numbers - asdlib.org  · Web viewPlace value works for binary just as it does for the decimal system. In ordinary decimal numbers 234 means 2×100 + 3×10

Binary Math Theorem0 and 1. These are the only two symbols available in a binary counting system. The reason binary numbers dominate electronics is that these numbers correspond to off and on, false and true, switch open and switch closed, magnetized in one direction, magnetized in the other, light x-polarized or light y-polarized. Any more complicated idea can be made by aggregate multiple binary bits (1 bit = a single 0 or 1) in assemblies: nybbles (4 bits), bytes (8 bits), words (16 bits), or long words (32 bits).

Place value works for binary just as it does for the decimal system. In ordinary decimal numbers 234 means 2×100 + 3×10 + 4×1 or 2×102 + 3×101 + 4×100. Each place has a digit in the range 0 through 9 times the base of the number system (10) raised to an integer power. If we looked at real numbers, those including a decimal point, numbers past the decimal would feature the base raised to a negative power. ANY based raised to the 0 power is 1. The position immediately to the left of base0 is valued at base1 which for binary means 21 = 2. So the first few binary numbers are: 00, 01, 10, 11 which correspond to the base 10 numbers 0, 1, 2, and 3.

Exercise: 16 bit numbers (words) are commonly used in digitization and computers. What are the place values for the first 16 places in a binary number? Fill in the blanks in this table:Show answers Hide answers

Power of 2

Base 10 (decimal) Value

0 11 21=2

0 và 1. Đây là hai số duy nhất dùng trong hệ đếm thập phân. Lý do số nhị phân kiểm soát điện học là những con số này tương ứng với bật và tắt, đúng và sai, mở và đóng, từ hóa theo 1 hướng, từ hóa theo hướng khác, ánh sáng phân cực x hoặc ánh sáng phân cứ y. bất kỳ một ý tưởng phức tạp nào có thể được đưa ra bằng cách aggregate nhiều bit nhị phân (1 bit= 0 hoặc 1) trong các assemblies: nibbles (4 bit), byte (8 bit), từ (16 bit), hoặc từ dài (32 bit).Thiết kế các nghiên cứu giá trị trong hệ nhị phân cũng giống như đối với hệ thập phân. Trong hệ các con số hệ nhị phân thông thường, 234 có nghĩa là means 2×100 + 3×10 + 4×1 or 2×102 + 3×101 + 4×100. Mỗi vị trí có một trị số nằm trong khoảng từ 0 đến 9 nhân với số cơ bản của hệ đếm (10) với số mũ là một số nguyên. Nếu chúng ta xem xét một số thự, những con số có dấu phẩy thập phân, các con số đằng sau dấu phẩy sẽ đặc trưng bởi số cơ bản với số mũ âm. Bất kỳ số cơ bản lỹ thừa 0 cho kết quả là 1. Vị trí ngay bên trái số cơ bản mũ 0 là giá trị tại lũy thừa 1, đối với hệ nhị phân có nghĩa là 21 = 2. Vì thế một vài số nhị phân đầu tiên là 00,01, 10,11, tương ứng với các con số 0,1,2,3 trong hệ 10. Power of

2Base 10

(decimal) Value0 11 21=22 22=4345

Page 3: Two's Complement Binary Numbers - asdlib.org  · Web viewPlace value works for binary just as it does for the decimal system. In ordinary decimal numbers 234 means 2×100 + 3×10

2 22=4345678 28=2569

101112131415

Converting back and forth between decimal and binary is easy. First, if you're a Windows user, pop up the Accessories Calculator. Set View to Scientific. Type in a decimal number, click "Bin" in the upper left, just below the data entry box, and there's the binary equivalent. Similarly, type in a string of 0's and 1's, click "Dec," and there's the decimal value. How does that work? Let's do one conversion each way.

84 (base 10) is between 26 = 64 and 27 = 128. That says we'll need 7 bits to express 84 in binary, and the most significant position will be a 1 in the 6th place. That 1 will represent 64 out of 84 counts, leaving 20 (84-64) to be encoded. So at this point, we have 1xxxxxx. The next position, 25, has a decimal value of 32. But 32 is bigger than 20, so this position gets a 0, and we have 10xxxxx. The next position is 24 = 16, which is less than 20. So that gets set to 1, and we have 101xxxx with a remainder to be encoded of 20 - 16 =

678 28=2569

101112131415

Chuyển đổi từ hệ thập phân sang hệ nhị phân và ngược lại thật dễ dàng Đầu tiên, nếu bạn sử dụng hệ điều hành Window, hãy mở Accessories/Calculator, lựa chọn Set/View to scientific. Nhập một số hệ thập phân, kích chuột vào “Bin” ở phía trên bên trái, ngay dưới hộp số liệu, và một số nhị phân tương ứng sẽ hiện ra. Tương tự, nhập một dãy các số 0 và 1, chọn “Dec”, bạn sẽ nhận được một số hệ thập phân tương ứng. Cơ chế đó họạt động như thế nào? Hãy thử một phép chuyển đổi theo từng cách.

84(hệ 10) nằm giữa 26 = 64 và 27 = 12. Điều đó cho thấy chúng ta cần 7 bit để mô tả 84 theo hệ nhị phân, và vị trí có nghĩa nhất sẽ là 1 ở vị trí thứ 6. Số 1 đó sẽ biểu thị 64 trong số 84 lần đếm, để lại 20 (84-64) bị mã hóa. Vì thế tại điểm đó, chúng ta có 1xxxxxx. Vị trí tiếp theo, 25, có giá trị thập phân tương ứng là 32. Nhưng 32 lớn hơn 20, vì thế vị trí này có giá trị 0, và chúng ta có 10xxxxx. Vị trí tiếp thep là 24=16, nhỏ hơn 20. Vì thế chúng ta có 1, và thu được 101xxxx với phần còn lại bị mã hóa là 20-16=4. Chúng ta nhận thấy rằng 22=4, vì thế vị trí thứ 4 sẽ là 1 và tất cả các vị trí khác là 0, vì thế chuỗi mã hóa là

Page 4: Two's Complement Binary Numbers - asdlib.org  · Web viewPlace value works for binary just as it does for the decimal system. In ordinary decimal numbers 234 means 2×100 + 3×10

4. We recognize that 22=4, so the 4's place will have 1 and all the other places will have 0's, so the encoding is 1010100. Here's a shortcut: ALL odd numbers will have a 1 in the 1's place.

What if we're going in the other direction -- converting base 2 to base 10? Just add up the place values (from the table you filled in) anywhere you see a 1, and ignore the places where there's a 0. 1001001 = 1×26+1×23+1×20 = 64+8+1 = 73.

Incidentally, characters such as those you're reading right now are also encoded in binary. For simple alphabetic characters, the ASCII encoding is common. To enable use of all the character sets of all the languages of the world, Unicode is employed.

Exercise: Express 17487 as a binary number.Click to show answer

Exercise: Express 1001111000 as a decimal number.Click to show answer

Next

1010100. Và đây là cách làm tắt: tất cả các số lẽ sẽ có 1 ở vị trí thứ 1.

Sẽ ra sao nếu chúng ta định làm theo hướng ngược lại, chuyển từ hệ 2 sang hệ 10? Chỉ cần cộng các giá trị vị trí (từ bảng mà bạn đã điền vào) mọi chỗ mà bạn thấy 1, và bỏ qua các vị trí có 0. 1001001=×26+1×23+1×20 = 64+8+1 = 73.

Nhân tiện, các ký tự như là những ký tự mà bạn đang đọc lúc này cũng được mã hóa theo hệ nhị phân. Đối với các ký tự alphabet đơn thuần, bảng mã ASCII rất phổ biến. Để sử dụng tất cả các bộ kỹ tự trong tất cả các ngôn ngữ trên thế giới, người ta dùng Unicode.

Bài tập: Biểu diễn 17487 theo hệ nhị phân. Click vào để xem kết quả

Bài tập: Biểu diễn 1001111000 theo hệ thập phân. Click vào để xem kết quả.

Tiếp

Two's Complement Binary Numbers

Choose Subtopic

Binary2's

Complement Binary

Hexadecimal

Why ADCs Use Integer

Math

The Nyquist Sampling Theorem

Integers not only have magnitude. They also have a sign. How do

Các số phần bù nhị phân của 2

Page 5: Two's Complement Binary Numbers - asdlib.org  · Web viewPlace value works for binary just as it does for the decimal system. In ordinary decimal numbers 234 means 2×100 + 3×10

we deal with that in binary?

Straight Binary

The first option is to ignore sign and just use all the available numbers, running from 0 to 2N-1 where N is the number of bits in the number. That's what we already discussed.

Sign Plus Magnitude Binary

A second approach is to use one bit of the number (usually the left-most bit, what was originally the most significant bit with value 2N-1) to represent sign. This leaves N-1 bits to represent value. This is only rarely seen in the instrumentation world. Why?

Both +0 and -0 have separate representations. This gives two representations of a number where, in practice, there is only one meaning (most of the time -- consult a number theorist to learn when +0 and -0 are different).

It turns out to be less efficient to design hardware subtraction hardware for this representation than for Two's Complement coding.

It is less efficient to design data converters that use this design than those that use Two's Complement coding.

People who think of positive and negative numbers as fundamentally disjoint are comfortable with Sign Plus Magnitude Binary coding. Those who see the integer number line as describing a single, uniform set of numbers that happens to have 0 as its midpoint may find Sign Plus Magnitude Binary awkward.

Examples: for 4 bit numbers, 0110 = +6, 1110 = -6 since 0 in the

Các số nguyên không chỉ có độ lớn mà còn có cả dấu. vậy chúng ta làm thế nào với hệ nhị phân?

Nhị phân chính xácViệc đầu tiên là bở qua dấu và chỉ sử dụng các số có mặt, đi từ 0 tới 2N-1 trong đó N là số các bit trong số đó. Đó là cái mà chúng ta đã thảo luận.

Nhị phân có dấu kết hợp độ lớnCách tiếp cận thứ 2 là sử dụng 1 bit của số (thường là bit ngoài cùng bên trái, bit có nghĩa nhất đầu tiên với giá trị 2N-1) để biểu thị dấu. Còn lại N-1 bit để biểu diễn giá trị. Cái này thì chỉ hiếm gặp ở trong khoa học nghiên cứu dụng cụ. Tại sao?

Cả +0 và -0 đều là hai biểu diễn phân biệt. Cách này cho ta hai biểu diễn khác nhau của cùng một số mà trong thực nghiệm chỉ có một ý nghĩa duy nhất (hầu hết các trường hợp, hãy tham khảo ý kiến của các nhà lý thuyết số để biết khi nào +0 và -0 khác nhau).

Điều này hóa ra thiếu hiệu quả để thiết kế phần cứng sự loại trừ phần cứng từ biểu diễn này hơn là đối với mã hóa phần bù của 2

Điều này thiếu hiệu quả để thiết kế công cụ chuyển đổi dữ liệu sử dụng ý tưởng này hơn là những cái sử dụng mã hóa phần bù của 2.

Những người nghĩ các số âm và dương như là phần tách biệt về cơ bản thường quen với mã hóa nhị phân có dấu kết hợp độ lớn. Những người nhìn nhận các trục số nguyên như là mô tả một tập hợp các số đơn lẻ và cùng kiểu, mà 0 được coi như điểm chính giữa, có thể thấy mã hóa nhị phân có dấu kết hợp độ lớn thật bất tiện.

Page 6: Two's Complement Binary Numbers - asdlib.org  · Web viewPlace value works for binary just as it does for the decimal system. In ordinary decimal numbers 234 means 2×100 + 3×10

lead bit = +, 1 in the lead bit = -.

Binary Addition

We need a brief aside. For straight binary numbers, addition works just as one would expect using place value. 0 + 0 = 0 (no surprise). 0 + 1 = 1 + 0 = 1. In binary, there is no way to have a displayed number other than 0 or 1, so 1 + 1 = 0 (in the 1's place) with 1 carried to the next most significant place (the 2's place). This is just like base 10 where 9 + 9 = 18; we have 8 in the 1's place, and the extra 10 gets carried one column to the left. What is we make thing a little more complicated?

10 + 01 = 01 + 10 = 11 (in base 10, 2 + 1 = 1 + 2 = 3)

10 + 10 = 100 (or, in base 10, 2 + 2 = 4)

Two's Complement Binary

Two's Complement signed integers use a coding that is intuitive for positive numbers but that takes some getting used to for negative numbers. If the most significant (left-most) bit is 0, the number is construed as positive, and the coding looks just like straight binary. If the lead bit is 1, the number is negative, but not just reading the bits is misleading. To convert a binary number from positive to negative, we Complement (change all the 0's to 1's) and Increment (add 1). We can go from negative to positive the same way. Here's an example (using 4 bits again).

+6 = 0110.

Ví dụ: Đối với các số 4 bit, 0110 =+6, 1110=-6 vì 0 ở bit đầu tiên=+, 1 ở bit đầu tiên= -.

Phép cộng nhị phân

Chúng ta cần một phần phụ ngắn gọn. Đối với các số nhị phân chính xác, phép cộng được thực hiện sử dụng giá trị vị trí. 0+0=0 (hiển nhiên). 0+1=1+0=1. Trong hệ nhị phân, chẳng có cách nào để biểu diễn số ngoài việc sử dụng 0 và 1, vì thế 1+1=0 (ở vị trí thứ 1) với 1 nằm ở vị trí quan trọng nhất tiếp theo (vị trí thứ 2). Cái này giống như hệ 10, 9+9=18, chúng ta có 8 ở vị trí 1, và phần 10 thêm vào ở cột tiếp theo bên tay trái. Điều gì khiến ta làm mọi việc trở nên hơi phức tạp hơn vậy?

10 + 01 = 01 + 10 = 11 (trong hệ 10, 2 + 1 = 1 + 2 = 3)

10 + 10 = 100 (hoặc trong hệ 10, 2 + 2 = 4)

Hệ nhị phân phần bù của 2.

Các số nguyên có dấu phần bù của 2 sử dụng phép mã hóa mà nhạy bén với các số dương nhưng cần làm quen với các số âm. Nếu bit ở vị trí ngoài cùng là 0, số đó được hiểu là số dương, và phép mã hóa trông giống như phép nhị phân chính xác. Nếu bit đầu tiên là 1, số đó là âm, nhưng việc chỉ đọc các bit sẽ làm cho bị nhầm hướng. Để chuyển số nhị phân từ dương sang âm, chúng là Complement (Đổi tất cả 0 thành 1) và Increment ( Cộng thêm 1). Ta có thể chuyển từ số âm sang số dương theo cách tương tự. Đây là một ví dụ, vẫn sử dụng 4 bit.

+6 = 0110.

Page 7: Two's Complement Binary Numbers - asdlib.org  · Web viewPlace value works for binary just as it does for the decimal system. In ordinary decimal numbers 234 means 2×100 + 3×10

Complement → 1001

Increment → 1010

Why would we want to use 1010 = -6. First, let's demonstrate that complement + increment returns +6 as an answer:

Complement → 0101

Increment → 0110

What should happen if we add + 6 and -6? We should get 0, regardless of how we write the problem. What happens if, in the middle of our calculations, we ignore the meaning of place value and simply add the representation for + 6 and the representation for -6 AS IF the most significant bit were just like all the others?

   0110

+ 1010

1 0000

The addition overflowed into the 5th bit, but the lower 4 bits give us 0. What we have shown is that subtraction in the two's complement system can be done using addition. In designing digital electronics, this is a huge simplification. Let's try 6-5

6: 0110

5: 0101

Complement → 1001

Increment → 1010

Tại sao chúng ta muốn 1010 -=6. Đầu tiên, hãy chứng mình rằng làm các phép complement và increment tương tự sẽ cho kết quả là +6 :

Complement → 0101

Increment → 0110

Điều gì xảy ra nếu chúng ta cộng hai số +6 và -6? Kết quả sẽ là 0, bất kể chúng ta viết bài toán này như thế nào. Điều gì xảy ra nếu, giữa quá trình tính toán, chúng ta lờ đi ý nghĩa của giá trị vị trí và chỉ đơn giản cộng các biểu diễn số của +6 và -6 với nhau như thể bit quan trọng nhất giống hệt các bit khác?

0110

+ 1010

1 0000

Phép cộng này vượt tới bit thứ 5, nhưng 4 bit thấp hơn cho chúng ta giá trị 0. Điều chúng ta đã chỉ ra rằng phép trừ trong hệ phần bù của 2 có thể thực hiện được bằng cách sử dụng phép cộng. Trong thiết kế các thiết bị điện tử kỹ thuật số, đây là một sự đơn giản hóa ưu việt. Hãy thử 6-5

6: 0110

Page 8: Two's Complement Binary Numbers - asdlib.org  · Web viewPlace value works for binary just as it does for the decimal system. In ordinary decimal numbers 234 means 2×100 + 3×10

Complement and increment 5: -5 = 1011

Add 6 and -5:

   0110

+ 1011

1 0001

Again, we had an overflow to the fifth bit, but we got the right answer (6 - 5 = 1). What happens if we take 5 - 6?

5: 0101

6: 0110

Complement and increment 6: -6 = 1010

   0101

+ 1010

0 1111

We get -1 and there's no overflow to the fifth bit! We thus see that the fifth bit (or, in general, the bit one to the left of the most significant bit in the numbers with which we're working) = 1 if the minuend is bigger than the subtrahend, and that bit = 0 if the subtrahend is bigger than the minuend. This is more information rich than sign-magnitude binary, and takes less puzzling to do subtraction. That is why, inside computers, two's complement

5: 0101

Complement và increment 5: -5 = 1011

Cộng 6 và -5:

   0110

+ 1011

1 0001

Một lần nữa, kết quả lại vượt tới bit thứ 5, nhưng chúng ta nhận được kết quả đúng ( 6-5=1). Chuyện gì xảy ra nếu chung ta thực hiện phép tính 5-6?

5: 0101

6: 0110

Complement và increment 6: -6 = 1010

   0101

+ 1010

0 1111

Chúng ta nhận được kết quả -1 và không cần sử dụng tới bit thứ 5! Vì thế ta nhận ra rằng bit thứ 5 ( hoặc, nói một cách khái quái, bit kế tiếp bên trái bit quan trọng nhất trong các số mà ta đang tính toán) =1 nếu số bị trừ lớn hơn số trừ, và bit đó =0

Page 9: Two's Complement Binary Numbers - asdlib.org  · Web viewPlace value works for binary just as it does for the decimal system. In ordinary decimal numbers 234 means 2×100 + 3×10

representation is nearly universal.

Exercise: For an 8 bit binary word, write down -3 in two's complement binary.  You might start by writing down +3, then complementing and incrementing. 

Exercise: Compute 3-5 and 5-3 (answers obviously ±2) in two's complement binary. Click to see both answers

By now, you've figured out that 111111 is -1, 111110 is -2, and so on. If we have a 4 bit number, 1001 is (complement: 0110; increment: 0111) -7. But what is 1000? By convention, that's -8, NOT 8. Why? A lead 1 is taken as negative (just as in Sign Plus Magnitude Binary). So if we have N bits in the binary representation, we can express numbers from -2N-1 to +2N-1 - 1. For N = 4, that's -8 to +7.

In a Nutshell: Two's complement binary allows representation of both positive and negative integers, allows for easy sign change, and allows subtraction (or addition of numbers with signs) more easily than sign plus magnitude coding.

Offset Binary

One other coding scheme is occasionally used. Suppose the actual numbers (base 10 equivalent) run from -128 to +127. If we simply added 128 to every number, then the range becomes 0 to 255, the same as straight binary. This is called offset binary. The coding for -128 is 0000 0000, the coding for 0 is 1000 0000, and the coding for +127 is 1111 1111. If one is aware in advance that this coding is used, it is common to subtract 2N-1 from each number as it is read

nếu số trừ lớn hơn số bị trừ. Điều này cho nhiều thông tin hơn nhị phân dấu- độ lớn, và ít nan giải hơn khi thực hiện phép trừ. Đây là lý do tại sao, bên trong các máy tính, biểu diễn phần bù của 2 gần như rất phổ biến.

Bài tập: Với 1 từ 8 bit nhị phân, hãy viết -3 theo phép nhị phân phần bù của 2. Bạn có thể bắt đầu bằng việc viết +3 trước, sau đó thực hiện phép complement và increment.

Bài tập: Tính 3-5 và 5-3 (dĩ nhiên câu trả lời là ±2) theo phép nhị phân phần bù của 2. Click để xem cả hai đáp án.

Tới lúc này, bạn đã hiểu rằng 111111 là -1 và 111110 là -2, và cứ như thế. Nếu ta có một số 4 bit, 1001 là - 7 (Complement: 0110; increment:0111). Nhưng 1000 là số nào? Theo quy ước, 1000 là -8, không phải 8. Tại sao? Số 1 đầu tiên được tính là dấu âm (giống như trong nhị phân dấu- độ lớn). Vì thế nếu ta có N bit trong biểu diễn số nhị phân, chúng ta có thể mô tả các số từ -2N-1 tới +2N-1 – 1. Với N= 4, thì đó là -8 tới +7.

Tóm tắt: Phép nhị phân phần bù của 2 cho phép biểu diễn cả số nguyên âm và dương, cho phép đổi dấu dễ dàng, và cho phép thực hiện phép trừ ( hoặc phép cộng các số với dấu) dễ dàng hơn mã hóa dấu kết hợp độ lớn.

Nhị phân offset

Một kiểu mã hóa khác thỉnh thoảng được sử dụng. Giả sử các số có thật ( tương đương hê 10) đi từ -128 tới +127. Nếu ta đơn giản cộng 128 với mọi số, thì kết quả sẽ nằm trong khoảng từ 0 tới 255, giống như với nhị phân trực tiếp. Cách làm này gọi là phép nhị phân offset. Mã hóa của 128 là 0000 0000, mã hóa

Page 10: Two's Complement Binary Numbers - asdlib.org  · Web viewPlace value works for binary just as it does for the decimal system. In ordinary decimal numbers 234 means 2×100 + 3×10

into a computer so that it can be stored as a signed integer, either sign-magnitude or two's complement. We deal with this convention no farther here, but one will occasionally spot a data converter that uses this convention. Usually, a converter using one of the other conventions is available and is more commonly used.

của 0 là 1000 0000, và mã hóa của +127 là 1111 1111. Nếu người ta biết trước đươc rằng mã hóa này được sử dụng, thật là bình thường để thực hiện phép trừ 2 N-1 với từ số khi nó được đọc vào máy tính để lưu trữ như một số nguyên có dấu, kể cả theo phép nhị phân dấu- độ lơn hoặc nhị phân phần bù của 2. Ở đây, chúng ta không đối phó với quy ước này xa hơn, nhưng người tat hi thoảng phát hiện ra một thiết bị chuyển đổi dữ liệu sử dụng quy ước này. Thông thường, một thiết bị chuyển đổi sử dụng một trong những quy ước khác thì dễ tiếp cận và thông dụng hơn.

Hexadecimal

Choose Subtopic

Binary2's

Complement Binary

Hexadecimal

Why ADCs Use Integer

Math

The Nyquist Sampling Theorem

"Base 8 is just like Base 10 if you're missing 2 fingers. Shall we have a go at it?" Tom Lehrer, New Math

Symbols

Binary only allows symbols for 0 and 1; anything bigger than 1 is represented with additional 0's and 1's in places with values of 2 raised to some power. 1010 = 1*23 + 0*22 + 1*21 + 0*20 = 8 + 0 + 2 + 0 = 10 (base 10). In base 2, there are 2 symbols (0 and 1). In base 10, there are ten symbols (0, 1, 2, 3, 4, 5, 6, 7, 8, 9). What if we wanted more symbols? We can grab them from the alphabet. The first new symbol would be A, the second B, and so on. This gives us enough symbols to work in Base 36 (if we can tell the difference between the number 0 and the letter O, between the number 1 and

Hệ thập lục phân

“Hệ 8 cũng giống như hệ 10 nếu bạn mất 2 ngón tay. Chúng ta có nên have a go at it không? Tom Lehrer, New Math

Các ký hiệuHệ nhị phân chỉ cho phép các ký hiệu 0 và 1, tất cả những số lớn hơn 1 được biểu diễn bằng cách thêm 0 và 1 ở nhiều vị trí với giá trị là 2 lũy thừa số mũ nào đó. 1010 = 1*23 + 0*22 + 1*21 + 0*20 = 8 + 0 + 2 + 0 = 10 (hệ 10). Trong hệ 2, có hai ký tự (0 và 1). Trong hệ 10, có 10 ký hiệu ( 0,1, 2, 3,4,5,6,7,8,9). Vậy nếu chúng ta muốn nhiều ký hiệu hơn thì sao? Chúng ta có thể lấy từ bảng chữ cái. Ký tự mới đầu tiên sẽ là A, ký tự thứ 2 là B,

Page 11: Two's Complement Binary Numbers - asdlib.org  · Web viewPlace value works for binary just as it does for the decimal system. In ordinary decimal numbers 234 means 2×100 + 3×10

the letter l, and so on). In practice, the most popular number system for digital work is hexadecimal or base 16. It has the symbols 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F, representing decimal numbers from zero to 15.

Why Hexadecimal?

The link between binary and hexadecimal is intimate. Here's the list of binary numbers for the 16 unique hexadecimal (or "hex" for short) symbols and their base 10 equivalents:

Binary

Hexadecimal

Base 10

0000 0 0

0001 1 1

0010 2 2

0011 3 3

0100 4 4

0101 5 5

0110 6 6

0111 7 7

1000 8 8

và cứ như thế. Điều này sẽ cho ta đủ ký tự để thao tác trên hệ 36 (nếu ta có thể chỉ ra sự khác nhau giữa số 0 và ký tự O, giữa số 1 và chữ 1, và cứ thế). Trong thực nghiệm, hệ số phổ biến nhất đối với các công việc liên quan tới kỹ thuật số là hệ thập lục phân hay còn gọi là hệ 16. Nó có các ký tự 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F biểu thị cho các số thập phân từ 0 tới 15.

Tại sao sử dụng hệ thập lục phân?Mối liên hệ giữa hệ nhị phân và hệ nhị phân rất mật thiết. Dưới đây là các số nhị phân tương ứng với 16 ký tự thập lục phân (hoặc viết tắt là hex) duy nhất và giá trị của chúng ở hệ thập phân.

Binary

Hexadecimal

Base 10

0000 0 0

0001 1 1

0010 2 2

0011 3 3

0100 4 4

0101 5 5

0110 6 6

0111 7 7

Page 12: Two's Complement Binary Numbers - asdlib.org  · Web viewPlace value works for binary just as it does for the decimal system. In ordinary decimal numbers 234 means 2×100 + 3×10

1001 9 9

1010 A 10

1011 B 11

1100 C 12

1101 D 13

1110 E 14

1111 F 15

Notice how 4 bits can be summarized with a single Hex character. For just 4 bits, this looks like more work than it's worth. However, when we start looking at long strings of numbers, the compactness of Hexadecimal, it's aligned correspondence of 4 bits to 1 symbol, and the related freedom from having to do multiplication and addition to convert back and forth between bases (compare converting from binary to decimal and back) Hex is the most convenient number system with which to work. As we will see, typical conversions between digital and analog representations of quantities use between 8 and 24 bits. At 8 bits, maybe just writing down the bits is adequate. However, 24 bits is a difficult for people to deal with. 24 bits can be expressed as 24/4 = 6 Hex characters. That's much more reasonable.

Binary to Hex Conversion

Step 1: starting at the RIGHT end of the binary string, group bits into

1000 8 8

1001 9 9

1010 A 10

1011 B 11

1100 C 12

1101 D 13

1110 E 14

1111 F 15

Chú ý 4 bit có thể được tập hợp lại với 1 ký tự Hex đơn như thế nào. Đối với 4 bit, việc làm này có vẻ tốn công hơn. Tuy nhiên, khi chúng ta bắt đầu nhìn vào những xâu số dài, sự rút gọn của hệ thập lục phân, đó là sự tương xứng được sắp xếp của 4 bit với 1 ký tự, và sự thoải mái liên quan từ việc phải làm phép nhân và phép cộng chuyển đổi ngược xuôi giữa hệ số đếm (So sánh phép chuyển đỏi từ hệ nhị phân sang thập phân, và ngược lại). Hex là hệ số đếm thuận tiện hất để làm việc này. Như chúng ta thấy, một chuyển đổi điển hình từ số sang analog của các đại lượng sử dụng trong khoảng 8-24 bit. Với 8 bit, có lẽ chỉ cần viết các bit xuống là đủ. Tuy nhiên, người ta khó khăn hơn khi giải quyết với 24 bit. 24 bit có thể diễn tả như là 24/4=6. Điều này có lý hơn nhiều.

Chuyển đổi từ nhị phân sang thập lục phân (Hex).

Page 13: Two's Complement Binary Numbers - asdlib.org  · Web viewPlace value works for binary just as it does for the decimal system. In ordinary decimal numbers 234 means 2×100 + 3×10

groups of 4. Example: 11010110110110011001111 becomes110 1011 0110 1100 1100 1111. What about the 3 bits at the left end? There's an implicit lead 0 (110 = 0110).

Step 2: for each group of 4 bits, substitute the Hex character corresponding to the 4 bit pattern (see table above). Example: from step 1, 0110 = 6, 1011 = B, 0110= 6, 1100 = C (used twice), 1111 = F. In order, that's 6B6CCF.

That's all there is to it!

Exercise: express 11110000110101101101101 in Hex. Click for answer

Hex to Binary Conversion

This is just the reverse of the previous conversion.

Step 1: for each Hex character, transcribe the 4 bit binary number corresponding to the symbol.

Step 2: if you left spaces between the bits, remove them.

Example: DE32 gives 1101 1110 0011 0010.

Exercise: what binary number corresponds to 123ABC? Click for answer

Hex to Decimal Conversion

Here we need to know the place values for each Hex symbol. The least significant (right-most) place is the 1's place. Next to the left is

Bước 1: Bắt đầu từ đầu phía bên phải của xâu nhị phân, gộp các bit thành các nhóm 4. Ví dụ: 11010110110110011001111 thành110 1011 0110 1100 1100 1111. Vậy còn 3 bit thừa lại ở bên trái thì sao? Ở đó có một số 0 ẩn nằm ở phía đầu (110=0110).

Bước 2: Với từng nhóm 4 bit, thay các ký tự Hex tương ứng với mảng 4 bit (xem bảng trên). Ví dụ: từ bước 1, 0110=6, 1011=B, 0110=6, 1100=C (được sử dụng 2 lần), 1111= F. Theo thứ tự ta có 6B6CCF.Đó là tất cả những gì chúng ta phải làm.

Bài tập: Biểu diễn 11110000110101101101101 trong hệ Hex.

Chuyển đổi từ hệ Hex sang hệ nhị phân

Chỉ cần làm ngược với quá trình chuyển đổi ở phía trên.

Bước 1: Với từng ký tự Hex, chuyển sang số nhị phân 4 bit tương ứng với ký tự đó.

Bước 2: Nếu bạn để khoảng tróng giữa các bit, hãy nỏ chúng đi.

Ví dụ: DE32 có kết quả tương ứng là 1101 1110 0011 0010.Bài tập: Số nhị phân nào tương ứng với 123ABC?

Chuyển đổi từ Hex sang hệ thập phân

Page 14: Two's Complement Binary Numbers - asdlib.org  · Web viewPlace value works for binary just as it does for the decimal system. In ordinary decimal numbers 234 means 2×100 + 3×10

the 16's (161). Then comes 162 = 256. Next is 163 = 256*16 = 4096. The next 3 places are 164 = 65536, 165 = 1,048,576, and 166 = 16,777,216. With 64 bit computers becoming common and 128 machines on the horizon, having 1616 tabulated is handy, and having 1632 available will matter within the professional lifetime of anyone using this module.

To convert a 4 place Hex number to decimal, we simply multiply the value in each place times the power of 16 represented by that place. D3F2 = D*163 + 3*162 + F*161 + 2*160 = 13*4096 + 3*256 + 15*16 + 2 = 54,258.

Exercise: convert AB5D to decimal. Click for answer

Decimal to Hex Conversion

Step 1: find the highest power of 16 that is LESS than the number being converted. Call this power M so we have a symbol for the power.

Step 2: divide the number by the 16M. The integer part of the quotient will be between 1 and 15. Record this number (in Hex form from the table at near the top of this web page) as the lead symbol. The remainder is the additional part of the number that still must be converted.

Step 3: If the remainder is bigger than 16M-1, go back to Step 2 (using 16M-1 instead of 16M) to find the next symbol, which will go one space to the right of the first symbol. If the remainder is smaller than 16M-1, put a 0 in the place to the right of the lead symbol, and check if the remainder is bigger than 16M-2. If it is, go to step 2, using 16M-2 instead of 16M, otherwise recording a 0, looking at 16M-3, and

Ở đây chúng ta cần biết giá trị vị trí của từng ký hiệu Hex. Vị trí ngoài cùng bên phải là vị trí thứ 1. Vị trí tiếp theo về phía bên trái là vị trí thứ 16 (161). Tiếp đó là 162.Tiếp theo là 163 = 256*16 = 4096. 3 vị trí tiếp theo là 164 = 65536, 165 = 1,048,576, và 166 = 16,777,216. Với các máy tính 64 bit đã trở nên thông dụng và các máy 128 bit ở phía ngang , có 1616 đã được đưa vào sổ tay, và có 1632 có sẵn sẽ thành vấn để trong cuộc đời nghiên cứu của bất cứ ai sử dụng module này.

Dể chuyển một số Hex 4 vị trí sang thập phân, đơn giản là chúng ta nhân các giá trị trong mỗi vị trí với lũy thừa 16 tượng trưng cho vị trí đó. D3F2 = D*163 + 3*162 + F*161 + 2*160 = 13*4096 + 3*256 + 15*16 + 2 = 54,258.

Bài tập: Chuyển AB5D sang thập phân.

Chuyển đổi từ hệ thập phân sang hệ Hex

Bước 1: Tìm lũy thừa lớn nhất của 16 mà nhỏ hơn số đang được chuyển đổi. Gọi lũy thừa đó là M để chúng ta có một ký tự cho lũy thừa.

Bước 2: Chia số đó cho 16M. Phần nguyên của thương sẽ nằm trong khoảng từ 1 đến 15. Ghi lại số này (theo kiểu của hệ thập lục phân từ bảng nằm phía gần tren cùng của trang web) như là ký tự đi đầu. Phần còn lại là phần dư của số đó mà chúng ta vẫn cần phải chuyển đổi.

Bước 3: Nếu phần dư lớn hơn 16M-1, trở lại bước 2 (sử dụng 16M-1 thay cho 16M) đê tìm ký tự tiếp theo nằm ở 1 vị trí cạnh bên phải của ký tự đầu tiên. Nếu phần dư nhỏ hơn 16M-1, đặt một số 0 tại ví trí bên phải của ký tự đầu tiên, và kiểm tra xem phần còn lại có lớn hơn 16M-2 không. Nếu lớn hơn, đi tới bước

Page 15: Two's Complement Binary Numbers - asdlib.org  · Web viewPlace value works for binary just as it does for the decimal system. In ordinary decimal numbers 234 means 2×100 + 3×10

so on until digits have been accounted for i.e. a symbol has been placed in the 160 place.

Example: convert 12345678. This number is between 165 and 166, so there will be 6 Hex symbols. 12345678/165 = 12345678/1048576 = 11.77... on a calculator, so the symbol here is the Hex representation of 11 = B.

12345678 - B*1048576 = 12345678 - 11*1048576 = 12345678 - 11534336 = 811342.

The next smaller power of 16, 164 = 65536. This is smaller than 811342, so the symbol in the 164 place is >0. 811342/65536 = 12.38..., the symbol for 12 is C, and the remainder in this position is

811342 - C*65536 = 811342 - 12*65536 = 24910. At this point, the conversion result is BCxxxx.

Next, 163 = 4096, 24910/4096 = 6.08, symbol is 6, and that's the same Hex or decimal. BC6xxx, and the remainder is 24910-6*4096 = 334. 162 = 256, 334/256 = 1, remainder 334-256 = 78. BC61xx. 78/16 = 4, remainder 78-64 = 14, whose symbol is E, and the final conversion is BC614E.

Exercise: convert 87654321 to Hex. Click for answer

2, sử dụng 16M-2 thay cho 16M, ngược lại thì ghi lại số 0, xem xét với 16M-3, và cứ như thế cho tới khi con số đã được tính tới ký tự đặt ở vị trí 160.

Ví dụ: chuyển đổi 12345678. Số này nằm giữa 165 và 166, do đó sẽ có 6 ký tự Hex. 12345678/165 = 12345678/1048576 = 11.77... trong phép tính, bởi vậy ký tự này là một biểu diễn thập lục phân của 11=B.

12345678 - B*1048576 = 12345678 - 11*1048576 = 12345678 - 11534336 = 811342.

Lũy thừa tiếp theo của 16, 164 = 65536. Số này nhỏ hơn 811342, do đó ký tự ở vị trí 164 là >0. 811342/65536=12.38…, ký tự cho 12 là C, và phần dư ở vị trí này là 811342 - C*65536 = 811342 - 12*65536 = 24910. Lúc này, kết quả của việc chuyển đổi là BCxxxx.

Tiếp theo, 163=4096, 24910/4096=6.08, và nó giống hệt hệ thập lục phân hay là hệ thập phân. BC6xxx, và phần dư là 24910-6*4096 = 334. 162 = 256, 334/256 = 1, phần dư 334-256 = 78. BC61xx. 78/16 = 4, phần dư 78-64 = 14, mà ký tự tương ứng là E, kết quả chuyển đổi là BC614E.

Bài tập: Chuyển 87654321 sang hệ thập lục phân.

Why ADCs Use Integer Math

Choose Subtopic

Binary 2's Hexadecim Why ADCs The Nyquist

Tại sao ADC sử dụng phép toán số nguyên

Page 16: Two's Complement Binary Numbers - asdlib.org  · Web viewPlace value works for binary just as it does for the decimal system. In ordinary decimal numbers 234 means 2×100 + 3×10

Complement Binary

alUse Integer

MathSampling Theorem

In everyday life, we encounter apparently continuous variables such as voltage, current, charge, light intensity, flow rate, speed, and so on. All of these quantities are usually expressed as real numbers with units, such as 2.17 volts, 3.15 milliamperes, 0.05 Coulombs, 1.34 nanowatt cm-2, milliliters s-1, 20.2 meters s-1, etc. So why wouldn't one want to digitize measurements using numbers with decimal points instead of simply integers?

The Problem With Fractions, Decimals, and Heximals

Just as numbers have place value to the left of the decimal point, so they have place value to the right. 3.14159 shows 1×10-1 in the first post-decimal location, 2×10-2 in the second place, and so on. In binary, one can work with "binary decimals" (to mix number systems), and the place values after the "decimal point" are 2-1, 2-2, and so on. Interestingly, some finite decimals in base 10 are repeating decimals in base 2 and vice versa. 1.2 (base 10) = 1 + 0/2 + 0/4 + 1/8 + 1/16 + 0/32 + 0/64 +1/128, with a remainder of 0.00468755 (base 10), giving a binary representation that start 1.0011001... . Because 2 is a factor of 10, any exact binary decimal can be expressed as an exact base 10 decimal. This means that any attempt to represent a rational decimal quantity in binary risks round-off error. While Hex has place values of 1/16, 1/256, etc., the essential issue doens't change. 1.2 base 10 = 1.33... in Hex. Exact representation of fractions is a chimera.

Every Measurement Has Finite Precision

Anyone who does measurements recognizes that all measurements are contaminated with noise, so that all measurements have finite

Trong cuộc sống hàng ngày, rõ rang chúng ta gặp phải nhiều biến liên tục ví dụ như điện thế, dòng điện, điện tích, cường độ ánh sáng, tốc độ dòng chảy, tốc độ,vân vân. Tất cả các đại lượng này thường được biểu diễn dưới dạng các số thực kèm đơn vị, ví dụ 2.17 vôn, 3.15 miliampe, 0.05 culông, 1.34 nanowat cm-2, 20.2 m s-1,… Vậy tại sao người ta không số hóa các phép đo sử dụng các số với dấu phẩy thập phân thay vì các số nguyên đơn giản???Vấn đề về Phân số, số thập phân, và số thập lục phân.

Giống như các số có giá trị vị trí ở phía bên trái dấu phẩy thập phâ, chúng ta có giá trị vị trí ở phía bên trái. 3.14159 cho thẩy 1×10-1 ở vị trí đầu tiên sau dấu phẩy, 2×10-2 ở vị trí thứ 2, và cứ như thế. Trong hệ nhị phân, người ta có thể sử dụng “số nhị phân thập phân” (để trộn lẫn các hệ số đếm), và các giá trị vị trí sau dấu phẩy thập phân là 2-1, 2-2, và cứ tiếp tục như thế. Thú vị là một vài số thập phân hữu hạn trong hệ 10 là các số thập phân tuần hoàn trong hệ 2 và ngược lại. 1.2 (hệ 10) = 1 + 0/2 + 0/4 + 1/8 + 1/16 + 0/32 + 0/64 +1/128, với phần dư là 0.00468755 (hệ 10), cho biểu diễn nhị phân bắt đầu là 1.0011001... . Bởi vì 2 là một ước của 10, số thập phân nhị phân chính xác bất kỳ có thể biểu diễn như là một số thập phân chính xác hệ 10. Điều này có nghĩa là bất cứ phép thử nào để biểu diễn một đại lượng thâp phân hữu tỷ trong hệ nhị phân đều có thể mắc phải sai số. Trong khi Hex có các giá trị vị trí 1/16, 1/256,… vấn đề thiết yếu không thay đổi. 1,2 (hệ 10) =1.33 trong hệ Hex. Biểu diễn chính xác của phân số là một điều hão huyền.

Page 17: Two's Complement Binary Numbers - asdlib.org  · Web viewPlace value works for binary just as it does for the decimal system. In ordinary decimal numbers 234 means 2×100 + 3×10

precision. Suppose one is measuring electrical potential. The potential may be 1.073 V, or (with sufficient care in the measurement) 1.073182 V. But the measurement is no 1.073182131415161788 V because humanity hasn't figured out how to measure potential to 19 significant figures, nor is it likely that measurement to that precision could be significant, given that the noise in many systems is approximately the uncertainty in the thermal energy of an electron. At room temperature, where the energy kT is 4.1×10-21 Joules per electron or 25.7 mV, averaging over 1.6×1019 (1 Coulomb) of electrons decreases the uncertainty by a factor of (1.6×1019)1/2 = 4×1010 = 6.4×10-13 V, ~ 1 pV. Measuring smaller amounts of charge (or small currents over short periods of time) increases the noise. If one measures 1 microampere for 1 millisecond, that is 10-9 Coulomb, the signal-to-noise ratio drops by at least a factor of (10-9)1/2 = 3×104, and the smallest useful voltage increment increases to 6.4×10-13 V * 3×104 = 20 nV. It makes no sense to digitize data with resolution significantly smaller than the noise amplitude -- the least significant bits will exhibit only noise, not useful information. It's just like a bathroom scale. For a 150 lb (70 kilogram) person, resolution of 0.25 lb (100 g) may be useful. But would 1 mg resolution make sense? We gain and lose about 0.5 g (1/1000 lb) each time we breath. Such resolution obscures useful information.

Scaling Can Convert Resolution Elements in Counts

Once we agree that only finite resolution is required for a measurement, we can scale the measurement arbitrarily so that integers can represent the measured quantity. If 20 nV is the smallest voltage increment we care about, then we can use "appropriate electronics" (to be described later) to scale the raw measurement so that 1 bit = the measurement quantum, in this case

Mọi phép đo đều có độ chính xác nhất định

Bất cứ ai thực hiện các phép đo đều nhận ra rằng tất cả các phép đo đều bị nhiễu, do đó tất cả các phép đo có độ chính xác nhất định. Giả sử một người đang đo điện thế. Điện thế có thể là 1,073V, hoặc (với những chú ý cần thiết trong phép đo) 1,073182V. Nhưng không có phép đo nào cho kết quả 1.073182131415161788 V vì loài người vẫn chưa tìm ra cách đo điện thế chính xác tới 19 số, và không có vẻ như rằng phép đo với độ chính xác có nghĩa, với tiếng ồn ở trong nhiều hệ hầu như là tất nhiên trong năng lượng nhiệt của electron. Tại nhiệt độ phòng, khi năng lượng kT là 4.1×10-21 J/s hoặc 25.7mV, trung bình hơn 1.6×1019 (1 Coulomb) của các electron giảm tính bất định một lượng bằng (1.6×1019)1/2 = 4×1010 = 6.4×10-13 V, ~ 1 pV. Đo một lượng nhỏ hơn các điện tích (hoặc một dòng điện nhỏ trong một khoảng thời gian ngắn) làm tăng độ nhiễu. Nếu một người đo 1 microampe trong 1 mili giây, kết quả là 10-9 Coulomb, tỉ số tín hiệu- tiếng ồn giảm xuống ít nhất một lượng là (10-9)1/2 = 3×104, và số gia điện thế hữu ích nhỏ nhất tăng tới 6.4×10-13 V * 3×104 = 20 nV. Số hóa dữ liệu với độ phân giải nhỏ đáng kể so với biên độ ồn không có ý nghĩa gì – bit ngoài cùng bên trải sẽ chỉ cho thấy độ chia, chứ không cho một thông tin có ích nào. Điều này giống như là một cái cân cá nhân. Đối với 1 người nặng 70kg, độ chia 100g có lẽ sẽ có ích. Nhưng độ chia 1mg thì có được không? Chúng ta tăng và giảm 0.5g mỗi lần chúng ta thở. Độ chia như thế làm nhiễu thông tin có ý.

Hệ thống chia độ có thể chuyển các yếu tố chia độ trong phép đếm.Một khí chúng ta thống nhất rằng một phép đo chỉ đòi hỏi một độ chia nhất định, chúng ta có thể chia độ phép đo một cách tùy ý để các số nguyên biểu diễn cho các đại lượng đo. Nếu 20nV là một số gia điện áp nhỏ nhất chúng ta quan tâm tới, vậy

Page 18: Two's Complement Binary Numbers - asdlib.org  · Web viewPlace value works for binary just as it does for the decimal system. In ordinary decimal numbers 234 means 2×100 + 3×10

20 nV. Then 2 (base 10) is 40 nV, 10 (base 10) is 200 nV, and so on. On this scale, 1 V = 5×107 and 10 V = 5×108. If negative quantities are useful (temperature on the Celcius scale, electrical potential, and speed, for example, can all be negative), then we can use negative integers as well as positive ones to express the measured quantity. It may take 30 bits to express the 1 billion possible codes for ±5×108 values, but that's still less than the 32 bits common in modern desktop computers (and a lot less than the upcoming 64 bit standard). As we'll see, most measurements use considerably fewer codes and fewer bits. We can thus go back and forth between analog (continuous) and digital (integer, perhaps signed) quantities using:

Digital = Round(Scale factor * analog quantity)

Analog = Digital/(Scale factor)

In the example above, the scale factor is 1 count/20 nV.

Example: A digitization system is set up so that 1 bit = 1 mV. If a signal is reported as hexadecimal AB, what voltage is being observed?

First, convert AB to base 10: 10*16 + 11 = 171. Since each count is 1 mV, the observed potential is 171 mV = 0.171 V.

Straight Binary Coding of Analog Quantities

If we are sure that an observed quantity always has the same sign (light intensity is always ≥ 0, Temperature in Kelvin is always ≥ 0), there is no need to waste encoding space with a sign bit. Data can be directly encoded in straight binary, indicating magnitude with sign

ta có thể sử dụng “thiết bị điện phù hợp” (sẽ được trình bày sau) để chia độ phép đo thô để 1 bit = 1 định lượng phép đo, trong trường hợp này là 20nV. Theo đó 2 (hệ 10) là 40nV, 10(hệ 10) là 200nV, và cứ như thế. Trong hệ chia độ này, 1 V = 5×107 và 10 V = 5×108. Nếu các đại lượng âm có thể dùng được ( ví dụ: nhiệt độ Celcius, điện thế, và tốc độ là những đại lượng có thể âm), thì chúng ta có thể sử dụng các số nguyên âm cũng giống như là các số nguyên dương để biểu diễn các đại lượng đo. Có lẽ sẽ tốn 30 bit để miêu tả 1 tỉ mã có thể có dùng cho ±5×108 giá trị, nhưng nó vẫn ít hơn 32 bit phổ biến ở máy tính để bàn ( và ít hơn nhiều so với các máy tiêu chuẩn 64bit). Như chúng ta biết, hầu hết các phép đo sử dụng ít hơn đáng kể số mã hóa và số bit. Do đó, chúng ta có thể chuyển qua lại giữa các đại lượng analog(liên tục) và số hóa (số nguyên, có thể có dấu).

Số= phần nguyên ( hệ số chia * đại lượng analog)Analog = Số/ (hệ số chia)

Ở ví dụ trên, hệ số chia là 1 đếm/20nV.Ví dụ: Hệ thống số hóa được thiết lập để 1 bit = 1mV. Nếu tín hiệu được ghi lại là AB theo hệ thập lục phân, điện áp thấy được là bao nhiêu?

Đầu tiên, chuyển AB sang hệ 10: 10*16 + 11 = 171. Vì mỗi lần đếm là 1 mV, điện thế nhìn thấy là 171mV=0.171V.

Mã hóa nhị phân trực tiếp của các đại lượng analog

Nếu ta chắc chắn rằng đại lượng chứng kiến thường cùng dấu ( cường độ ánh sáng luôn luôn ≥ 0 , nhiệt độ Kelvin luôn luôn ≥ 0), vậy không cần tốn vị trí mã hóa với một bit dấu. Dữ liệu có thể được mã hóa trực tiếp trong hệ nhị phân trực tiếp, tương

Page 19: Two's Complement Binary Numbers - asdlib.org  · Web viewPlace value works for binary just as it does for the decimal system. In ordinary decimal numbers 234 means 2×100 + 3×10

implicit since the sign is known to the user (and, presumably, the user's software) in advance. What scale factor should be used? There is a tiny, but significant, ambiguity, that must be dealt with. Given N bits, there are 2N encodings possible. The actual values run from 0 to 2N - 1. If we decide that a scale factor is some pre-defined increment, then there is no problem. Zero means zero and 2N - 1 means the pre-defined increment times 2N - 1. A 1 mV least significant bit, operating with a 12 bit analog to digital converter would thus top out at (212 - 1) * 1 mV = 4095 mV = 4.095 V. Notice this is 1 mV less than 212 mV.

However, the real world situation is typically approached from the other direction. Given a full scale range of 5 V or 10 V, what is the signal increment for each bit? Do we set, e.g., 5 V = 2N (and, thus, unobservable as it is 1 count higher than the highest-represented number for N bits), or do we set 5 V = 2N - 1 (the highest number we can represent with N bits)? This amounts to calibration that varies with resolution. The standard, therefore, is to have the highest digitized value be 1/2N * full scale signal less than the nominal digitization range. For an 8 bit example, 1000 0000 binary digitizes exactly 1/2 of the nominal full scale signal (2.5000 V for the 5 V example here), 0100 0000 is exactly 1/4 of the nominal full scale (1.2500 V), and each bit sets an easily defined value. The highest straight binary encoding, 1111 1111 corresponds to 255/256 of full scale or 4.980 V (to 4 significant figures).

Two's Complement Coding of Bipolar Quantities

We face the same scaling issues with bipolar (plus or minus) data that we do with unipolar (unsigned) data, but we have an anchor that avoids a lot of the ambiguity. We know that 0 numerically and 0 encoded have to represent the same idea. For consistency, we

ứng với độ lơn có dấu ẩn vì người dùng đã biết dấu đó từ trước (và, giả thiết là, phần mềm mà người dùng sử dụng). Vậy hệ số chia nào nên dược sử dụng? Có một sự mơ hồ nhỏ nhưng rất quan trọng mà chúng ta cần phải đối phó. Cho trước N bit, vậy sẽ có 2N khả năng mã hóa. Giá trị thực đi từ 0 tới 2N-1. Nếu chúng ta quyết định rằng hệ số chia là một số gia được biết trước nào đó, thì sẽ không có vấn đề gì. 0 là 0 và 2N-1 nghĩa là số gia ngầm định nhân với 2N-1. Một bít kém quan trọng nhất 1 mV, thực hiện với một máy chuyển đổi analog sang số hóa 12 bit sẽ vì thế đại giá trị (212 - 1) * 1 mV = 4095 mV = 4.095 V. Chú ý rằng đó là 1mV nhỏ hơn 212 mV.Tuy nhiên, các trường hợp thực thế được tiếp cận đặc trưng từ nhiều hướng khác. Cho trước một khoảng chia độ đầy dudr 5V hoặc 10 V, số gia tín hiệu với mỗi bit là gì? Chúng ta thiết lập, nghĩa là 5V=2N (và, do đó, không thể thấy nó được đếm hơn 1 đơn vị so với số được biểu diễn lớn nhất với N bit ), hay là chúng ta thiết lập 5V = 2N-1 ( số lớn nhất chúng ta có thể biểu diễn với N bit)? Các lượng này để chuẩn hóa thay đổi theo độ phân giải. Vì thế, tiêu chuẩn là phải có giá trị sô shoas cao nhất là 1/2N * tín hiệu thang đo mà nhỏ hơn khoảng số hóa nominal. Lấy một ví dụ với 8 bit, 1000 0000 hệ nhị phân số hóa chính xác ½ tín hiệu thang đo nominal ( 2,5000 V của 5V trong ví dụ này), 0100 0000 chính xác là ¼ thang chia nominal (1,2500V), và mỗi bit cho một giá trị xác định một cách dễ dàng. Mã hóa nhị phân trực tiếp cao nhất, 1111 1111 tương ứng với 255/256 của thang đo hoặc 4.980V ( tới 4 số chính xác).

Mã hóa phần bù hai của các đại lượng hai cực.Chúng ta gặp phải vấn đề chia độ tương tự với dữ liệu nhị cức (âm hoặc dương) mà chúng ta làm với dữ liệu đơn cực ( không dấu), nhưng chúng ta có một cách để tránh rất nhiều rắc rối. Chúng ta biết rằng 0 số học và 0 mã hóa phải được biểu diễn theo cùng một ý tưởng. Để thống nhất, chúng ta muốn mã hóa

Page 20: Two's Complement Binary Numbers - asdlib.org  · Web viewPlace value works for binary just as it does for the decimal system. In ordinary decimal numbers 234 means 2×100 + 3×10

want the positive encoding for a bipolar converter and the unsigned encoding for a unipolar converter to give the same numbers for the same input. Thus if we have an M-bit bipolar converter (with one bit used to indicate sign), that should give the same result for unsigned values as an M-1 bit unipolar converter.

Exercise: If the 8 bit converter in the previous section gives 1000 0000 for a 2.5 V input signal, what digitization would we want for a 9 bit bipolar converter observing the same 2.5 V input? Answer   What encoding would we want for the 9 bit converter to give for -2.5 V input? Answer

 

Exercise: An old data file is found with 8 bit numbers and a label "binary digitized data, 8 bits, 5V full scale." The first 3 values in the file are 0110 0011, 1110 0100, 1010 1001. There is no indication if the data is unipolar or bipolar, and no indication if the encoding is straight binary, signed-magnitude binary, or two's complement binary. What are the possible values for the voltages that are digitally represented by these three numbers? Answer.

dương cho các thiết bị chuyển đổi hai cực và mã hóa không dấu cho các thiết bị chuyển đổi đơn cực để đưa ra những số giống nhau tương ứng với đầu vào giống nhau. Vì thế, nếu chúng ta có một thiết bị chuyển đổi đơn cực M- bit

Bài tập: Nếu thiết bị chuyển đổi 8 bit ở phần trước cho kết quả 1000 0000 đối với tín hiệu input 2,5V; số hóa nào sẽ được dùng cho thiết bị chuyển đổi đơn cực 9 bit đối với cùng tín hiệu input 2,5V? Câu trả lời. Thiết bị chuyển đổi 9 bit sẽ đưa ra kiểu mã hóa nào đối với tín hiệu input 2,5V? Câu trả lời.

Bài tập: Một file dữ liệu cũ được tìm thấy với các số 8 bit và được ghi tên là “dữ liệu số hóa nhị phân, 8 bit,

The Nyquist Sampling Theorem

Choose Subtopic

Binary2's

Complement Binary

Hexadecimal

Why ADCs Use Integer

Math

The Nyquist Sampling Theorem

Digitization is not a continuous process. Just as the amplitude

Page 21: Two's Complement Binary Numbers - asdlib.org  · Web viewPlace value works for binary just as it does for the decimal system. In ordinary decimal numbers 234 means 2×100 + 3×10

representations of data are discrete integers, so the values are digitized at specific times. One may snatch a single value from a data stream (sampling), one may take data at regular intervals (periodic sampling), or one may digitize in response to a specific, triggering event. In any case, given that discrete numbers are stored, there are a finite number of measurements taken over an interval of time. How much fidelity between the sampled signal and the real, analog, continuously-varying temporal waveform can be expected?

Sampled Waveforms

For demonstrations and explanations, we'll look at three closely related waveforms:

y = sin(2 π t), a 1 cycle per second or 1 Hertz sine wave.

y = sin(2 π t * 0.9), a 0.9 Hertz sine wave.

y = sin(2 π t * (1+ 0.02t)), a "chirped pulse," where the frequency continuously increases with time. If you want to see the original Excel 2007 file, click here .

We can write these down as continous functions, but any digital device will measure the signal only at discrete, specified times (typically, a signal is sampled, a digital number corresponding to the signal computed with an Analog to Digital Converter, and then another sample is taken. Each conversion takes a measureable amount of time). Here we show two of the three functions plotted as if they were continuous (they're actually computed in Microsoft Excel at discrete, 0.01 s intervals), and the third function showing each point discretely. Click on the picture to get a larger image.

Qui tắc lấy mẫu Nyquist Số hóa không phải là một quá trình liên tục. Các giá trị được số hóa tại những thời điểm xác định cũng như biên độ của dữ liệu được biểu diễn bởi các số nguyên rời rạc. Người ta có thể chọn lấy một giá trị riêng lẻ từ một luồng dữ liệu nào đó (lấy mẫu), hoặc cũng có thể lấy số liệu cách nhau những khoảng thời gian đều đặn (lấy mẫu theo chu kì), hoặc cũng có thể số hóa theo một giai đoạn mở đầu xác định. Trong bất kì trường hợp nào, nếu các giá trị rời rạc đã được ghi lại, thì cũng có một số xác định các phép đo được lấy theo thời gian. Vậy, độ tin cậy giữa các tín hiệu được lấy mẫu và dạng sóng biến đổi liên tục, tương tự và thực sẽ như thế nào?

Các dạng sóng được lấy mẫuTa lấy 3 dạng sóng có liên quan gần nhau sau đây để minh họa và giải y = sin(2 π t), 1 vòng/ giây hoặc sóng dạng sine 1 Hertz y = sin(2 π t * 0.9), sóng dạng sine 0.9 Hertzy = sin(2 π t * (1+ 0.02t)), một xung nhỏ (“chirped pulse”), tần suất tăng liên tục theo thời gian. Xem file gốc Excel 2007 file, click here.Ta có thể viết chúng dưới dạng các hàm liên tục, nhưng bất kì thiết bị số nào cũng chỉ đo tín hiệu theo những lần rời rạc, xác định ( Thông thường, khi một tín hiệu được lấy, một con số tương ứng với tín hiệu được tính bằng thiết bị chuyển đổi kỹ thuật số, và sau đó một mẫu khác lại được lấy tiếp. Mỗi lần chuyển đổi mất khá nhiều thời gian ). Đây là 2 trong 3 hàm được vẽ như thể chúng là hàm liên tục ( được tạo trong Microsoft Excel tại những khoảng rời rạc, cách nhau 0.01 s), hàm thứ 3 chỉ ra các điểm tách rời nhau. Click vào hình vẽ để xem cho rõ)

Page 22: Two's Complement Binary Numbers - asdlib.org  · Web viewPlace value works for binary just as it does for the decimal system. In ordinary decimal numbers 234 means 2×100 + 3×10

The same waveforms, viewed over 20 s instead of 2 s look like this:

Các dạng sóng tương tự, được ghi trong 20s thay vì 2s se có hình dạng như sau:

Nhận thấy cách các dạng sóng “trôi” (drift) vào và ra khỏi pha của nhau như thế nào. Vào thời điểm 10 giây và 20giây , tất cả các dạng sóng đều qua 0.Bài tập: Có bao nhiêu chu kì hoàn chỉnh của mỗi dạng sóng xuất hiện giữa thời điểm t=0 và t=10? t=0 và t=20?Trả lờiDễ thấy, khi lấy nhiều điểm dữ liệu trong 1 chu kì của dạng

Page 23: Two's Complement Binary Numbers - asdlib.org  · Web viewPlace value works for binary just as it does for the decimal system. In ordinary decimal numbers 234 means 2×100 + 3×10

Notice how the waveforms drift in and out of phase with each other. At 10 s and 20 s, all the waveforms pass through zero.

Exercise: How many full cycles of each waveform occur between t = 0 and t = 10? How about between t = 0 and t = 20? Answer .

 

As is easily seen, when we take numerous data points during a cycle of the waveform, we can accurately trace out its shape. In the examples above, we are sampling slow waveforms (<20 Hz) at a frequency (100 Hz) greater than any of the contributing frequencies.

sóng, ta có thể xác định hình dạng của nó. Như trong ví dụ trên, ta lấy mẫu của các dạng sóng chậm (<20 Hz) ở tần suất (100 Hz) - lớn hơn bất kì một tần suất góp nào. Nếu lấy mẫu ở tần số tương đương hoặc thấp hơn tần số của dạng sóng quan sát được thì sẽ như thế nào?

Hiện tượng giả danh (xem tại đây)"Một chiếc đồng hồ chết cũng cho thời gian đúng 2 lần trong một ngày." Nếu ta lấy mẫu số đọc trên đồng hồ cách nhau các khoảng thời gian 12 tiếng đều đặn, thì ta sẽ luôn nhận thấy thời gian cho bởi đồng hồ đó là đúng và số đọc thời gian đó bù trừ nhau bằng những lượng xác định. Ta không biết được đồng hồ hoạt động ra sao giữa các khoảng đọc. Đây là một ví dụ về giả danh - thấy những kết quả có tính chu kì của một tần số xuất hiện ở một tần số khác do tỉ lệ giữa tần suất lấy mẫu và hoạt động thật . Đối với chiếc đồng hồ chết, lấy mẫu 1 lần/ngày hay 2 lần/ ngày không cho biết đồng rằng đồng hồ hỏng (chỉ cho biết khoảng bù trừ xác định). Lấy mẫu ở bất kì tần suất nào cao hơn cũng cho thấy số đọc này không thay đổi như một hàm của thời gian. Lấy mẫu ở tần suất thấp hơn ( 2 ngày/lần hoặc 20 ngày/lần) cho kết quả tương tự như lấy mẫu cách nhau các khoảng 12 tiếng miễn là vẫn đảm bảo các mẫu được lấy cách nhau các khoảng bội số của 12 tiếng đồng hồ.Dạng sóng của phần trước với số liệu được lấy mẫu cách nhau các khoảng 0.5 s. Trong biểu đồ 1, lấy mẫu ở các thời điểm 0, 0.5, 1.0 …giây. Trong biểu đồ 2, lấy mẫu ở các thời điểm 0.25, 0.75, 1.25 …giây . Chú ý đặc biệt đến các điểm dữ liệu xanh lá cây nhạt ( các điểm biểu thị của dạng sóng 1.0 Hz)

Page 24: Two's Complement Binary Numbers - asdlib.org  · Web viewPlace value works for binary just as it does for the decimal system. In ordinary decimal numbers 234 means 2×100 + 3×10

What happens if the sampling occurs at a frequency similar to or less than the frequency of the observed waveform?

Aliasing (see also here)

"A stopped clock is right twice a day." If we sample the reading on the clock at 12 hour intervals, we will always see either that the time is correct or that the time is offset by a fixed amount. We have no knowledge of its behavior between readings. This is an example of aliasing, seeing a periodic event of one frequency occurring at a different frequency because of the ratio between sampling frequency and the actual behavior. For the stopped clock, sampling once per day or twice per day gives us no indication of a problem (other than, perhaps, a fixed time offset). Sampling at ANY higher frequency will reveal that the reading does not change as a function of sample time. Sampling at a lower frequency (once every 2 days? once every 20 days?) shows the same behavior as sampling at 12 hour intervals, provided of course that the sampling is always done at some multiple of 12.000 hour intervals.

For the waveforms from the previous section, here's sampled data with the sampling interval 0.5 s. In the first plot, the sampling occurs at 0, 0.5, 1.0 etc. seconds. In the second plot, the sampling occurs at 0.25, 0.75, 1.25 etc. seconds. Note particularly the light blue data points (those for the 1.0 Hz waveform:

Các đồ thị này bị lấy mẫu thiếu. Hình dạng thật của các dạng sóng không được rõ bởi tốc độ lấy mẫu quá chậm. Rõ nhất, ta nhận thấy nếu lấy mẫu ở tần suất bằng một nửa tần suất của dạng sóng giám sát, ta có thể nhận được sự luân phiên giữa các giá trị cao nhất và thấp nhất của dạng sóng hay là một kết quả 0 toàn phần (DC). Ta cũng nhận thấy một kết quả ngoài mong đợi: như đã biết, dạng sóng có tần số biến đổi theo thời gian có tần số tăng, nhưng dạng sóng được lấy mẫu này nhìn có vẻ như có tần số giảm. Điều gì đang xảy ra? Ta có thể biết được bằng cách xem xét một ví dụ của sóng sine 0.9 Hz được lấy mẫu tại 1 điểm1 giây/lần. Chọn pha cụ thể tại nơi dạng sóng

Page 25: Two's Complement Binary Numbers - asdlib.org  · Web viewPlace value works for binary just as it does for the decimal system. In ordinary decimal numbers 234 means 2×100 + 3×10

đi qua điểm 0 (với đạo hàm dương) làm thời điểm lấy mẫu đầu tiên. Điểm lấy mẫu thứ 11 sẽ ở giây thứ 10. Các đồ thị trên cho biết dạng sóng 0.9 Hz sẽ qua chính xác là 9 dao động trong 10s và sẽ trở lại qua 0 theo chiều dương. . Đây là đồ thị

Nhận thấy các điểm lấy mẫu qua chu kì 1 dao động, với biện độ như của dạng sóng 0.9 Hz nhưng lật ngược lại hay ngược pha. Một chu kì trong 10s tương đương tấn số 0.1 Hz. Sự khác nhau giữa dạng sóng thô 0.9 Hz và dạng sóng lấy mẫu 1Hz có phảilà trùng hợp hay không? Thực tế là không và đây chính là điểm cần nói tới. Ta đã giả danh dạng sóng 0.9 Hz với 0.1 Hz bằng cách lấy mẫu tại 1 Hz:0.9 Hz (dữ liệu thô) - 1 Hz (lấy mẫu) = - 0.1 Hz (kết quả nhận được xuất hiện tại 0.1 Hz, dấu trừ thể hiện pha của dạng sóng đã bị đảo ngược) Định lý NyquistQui tắc cơ bản về giám sát mẫu lấy được của một dạng sóng tuần hoàn :

Để số hóa một dạng sóng mà không bị giả danh, lấy mẫu it nhất gấp 2 lần tần số của dạng sóng.

Như đã thấy, ngay kể cả ở gấp 2 lần tần số dạng sóng, vẫn có khả năng ta ước lượng thấp biên độ của dạng sóng. Xử lí biên độ lấy mẫu xác định

Page 26: Two's Complement Binary Numbers - asdlib.org  · Web viewPlace value works for binary just as it does for the decimal system. In ordinary decimal numbers 234 means 2×100 + 3×10

These plots are undersampled. The true shape of the waveform is not evident because the sampling speed is too slow. Most clearly, we see that if we sample at 1/2 the frequency of the monitored waveform, we may get alternation between the highest and lowest values of the waveform or a pure zero (DC) result. We see an additional, unexpected behavior: while we know the Time Varying Frequency waveform is INCREASING in frequency, the sampled waveform looks like it is DECREASING in frequency. What in the world is happening?

We can get an idea by looking at an example of sampling the 0.9 Hz sine wave at 1 Hz i.e. sampling a point once per second. We will choose the specific phasing where the 0.9 Hz waveform goes

1. Mô tả hình dạng của dạng sóng mà không bị giả danhNhư trên, cần lấy mẫu dạng sóng ở tần số cao hơn 2 lần tần số của dạng sóng. Nếu không biết pha của dạng sóng, cần lấy mẫu ít nhất gấp 4 lần biên độ của dạng sóng; nếu có thể đồng bộ hóa với dạng sóng, ta cũng có thể bắt được các điểm cực đại và cực tiểu, 2 lần tần số dạng sóng là một giới hạn dưới khó đạt được. Thậm chí kể cả khi đó, ta phải giả sử dạng sóng là dạng hình sine, dạng sóng vuông, hoặc một vài dạng xác định khác. Nếu dạng sóng là hình dạng tùy ý nào đó, ta chỉ có thể giải thích hình dạng đó theo các dạng thành phần với tần số đặc trung của tần Nyquist. Bất cứ dạng sóng tuần hoàn nào cũng có thể được phân tích thành tổng của các hòa âm, tức là, bội số của tần số tuần hoàn thấp nhất trong dạng sóng.Xem separate tutorial.

Người quan sát cẩn thận sẽ nhận thấy rằng, các điểm được lấy mẫu trong 2 đồ thị đầu tiên thuộc phần Giả danh, cụ thể là dạng sóng biến đổi theo thời gian, tỏ ra khá nhiễu. Bất cứ khi nào nhận thấy dữ liệu được lấy bị nhiễu, nên tỏ ra nghi ngờ rằng sóng đang quan sát không phải là nhiễu thật và không phải dạng sóng có tần số cao, mà đó là hiện tượng giả danh của một thứ gì đó không xác định được bản chất từ dãy số liệu quan sát được theo thời gian.Vậy dạng sóng bị giả danh có dạng như thế nào? Hãy xem xét một số ví dụ để tổng quát hóa. Giả sử dạng sóng thật (quan sát được từ lấy mẫu tần suất cao) là 1000 Hz. Vậy thì ở tần số nào nó sẽ xuất hiện nếu lấy được lấy mẫu tại 1 Hz? Đầu tiên, nếu có sự biến động ( biến thiên tần số trong thí nghiệm), ta có thể thấy xuất hiện một vệt mờ. Nhưng nếu mọi thứ đều ổn định, ta sẽ thấy thứ gì đó giống như là một giá trị riêng lẻ-- tất cả

Page 27: Two's Complement Binary Numbers - asdlib.org  · Web viewPlace value works for binary just as it does for the decimal system. In ordinary decimal numbers 234 means 2×100 + 3×10

through zero (with a positive derivative) just at the moment we take the first sample. The 11 the sampled point will occur at 10 s, and we know from the above plots that the 0.9 Hz waveform will have gone through exactly 9 oscillations in 10 s and be back at a postive-going zero crossing then. Here's the plot:

We see that the sample points go through 1 oscillation cycle, with the sample amplitude as the 0.9 Hz waveform, but "flipped upside down" or phase-reversed. One cycle in 10 s is 0.1 Hz. Is it a coincidence that the difference between the raw waveform (0.9 Hz) and the sampling (1 Hz) is 0.1 Hz? No -- in fact, that's exactly the point. We have aliased the 0.9 Hz waveform to 0.1 Hz by sampling

còn lại đều bằng 0 (nếu lấy mẫu đồng bộ với điểm về 0 tại mỗi nửa khoảng milli giây ) hoặc tất cả đều là một giá trị khác nào đó. 1000 Hz là gấp1000 hay hòa âm thứ 1000 của1 Hz. Nếu lấy mẫu tại 1.1Hz thí sao? Nếu điểm đầu tiên được lấy ở điểm về 0 theo chiều dương của dạng sóng 1000 Hz, ta sè lấy 11 điểm trong 10 giây tiếp theo trước khi gặp điểm về 0 theo chiều dương tiếp theo. Tần số biểu kiến của dạng sóng được lấy mẫu sẽ là 0.1 Hz. Lấy mẫu ở 202 Hz, ta thấy 1 chu kì được lấy mẫu trong 0.1 s.

Có hình dạng mẫu nào hiện lên không? Một số nguyên lần tốc độ lấy mẫu khác với tần số tín hiệu thực bởi tần số giả danh quan sát được. Gán cho số nguyên màu green để làm nổi bật nó. 1000 - 5*202 = 1000 - 1010 = -10 Hz (chu kì = 0.1 s, như trong hình trên). 0.9 Hz - 1*1 Hz = - 0.1 Hz (một vài ví dụ trước). 1000 - 909*1.1 = 0.1 Hz.

Khái niệm toán học khuyết thiếu ở đây là modulus. Modulus là phần còn lại của một phép chia. 7 modulus 4 = 3. 19 modulus 6 = 2. Bởi vậy, để xác định ảnh hưởng của hiện tương giả danh, tần số biểu kiến được xác định

Page 28: Two's Complement Binary Numbers - asdlib.org  · Web viewPlace value works for binary just as it does for the decimal system. In ordinary decimal numbers 234 means 2×100 + 3×10

it at 1 Hz: 0.9 Hz (raw data) - 1 Hz (sampling) = - 0.1 Hz (result appears to be at 0.1 Hz, and the minus sign says the waveform is phase-reversed).

Nyquist's Theorem

We now know enough to appreciate the fundamental rule concerning sampled monitoring of a periodic waveform:

To digitize a waveform without aliasing, sampling must be at least TWICE the frequency of the

waveform.

As we already saw, even at twice the waveform frequency, there is a significant chance that we will underestimate the amplitude of the waveform.

Dealing with Finite Sampling Frequency

1. Tracing the shape of a waveform without aliasing

From what we saw above, we need to sample the waveform at a frequency higher than twice the waveform's frequency. If we have no knowledge of the phase of the waveform, we may need to sample at at least four times the waveform's frequency; if we can synchronize with the waveform so we can capture maximum and minimum points, twice the waveform frequency is a hard lower limit. Even then, we have to assume the waveform is a sine wave, square wave, or some other fixed form. If the waveform has some arbitrary shape, then we can only elucidate that shape up to components with a characteristic frequency of the Nyquist

bằng cách tìm hòa âm gần nhất với tần số thực, sau đó trừ đi tích của số hòa âm và tần số lấy mẫu từ tần sô thực. Bởi vậy, ở cuối đoạn trên, ta trừ hòa âm thứ 909 của 1.1 Hz từ 1000 Hz. Nếu dùng hòa âm thứ 908 và 910 thì sao? 1000 - 908*1.1 = 1000 - 998.8 = 1.2 Hz, và giá trị1.2 lớn hơn(về giá trị tuyệt đối) tần số Nyquist (1.1 Hz/2 = 0.55 Hz). 1000 - 910*1.1 = 1000 - 1001 = -1 Hz, cũng lớn hơn (về giá trị tuyệt đối) so với tần số Nyquist. Bởi vậy, chọn hòa âm sao cho khi trừ nó khỏi giá trị tần số thực thì cho kết quả nằm trong khoảng tần số 1 Nyquist của 0.

Bài tập: Một tín hiệu 1.275 MHz được lấy mẫu tại 50.000 KHz. Tại tần số nào thì tín hiệu giả danh xuất hiện?

2. Tránh nhiễu tần số cao khỏi bị giả danh, nhờ đó giảm phép đo tần số Giả danh chỉ có thể tránh bằng cách giảm thông tin tần số cao. Nếu một dạng sóng là tổng của các thành phần 1 KHz và 12 KHz, lấy mẫu ở tần số 7 KHz sẽ cho trực tiếp thành phần 1 KHz và giả danh thành phần với 1.5 KHz (tần số Nyquist 3.5 KHz; họa âm thứ 3 của tần số Nyquist là ở 10.5 KHz, bởi vậy giả danh sẽ ở 12 KHz - 10.5 KHz = 1.5 KHz). Như đã đề cập nhiều lần, không có cách nào sau khi lấy mẫu mà biết được thành phần 1.5 KHz (hay thành phần 1 KHz) là thực hay giả danh. Vì thế, cần lọc bỏ giả danh hay cần một thiết bị điện để hạn chế tầm của các tần số chạm tới thiết bị số hóa, nhờ đó giảm tín hiệu ngoài khoảng không bị giả danh mà ta muốn quán sát. Một cách khác, có thể giảm các tần số ngoài của một khoảng hẹp (bao gồm cả việc giảm các tần số thấp), nhờ đó có thể chủ động giả danh một tín hiệu tần số cao vào phạm vi của thiết bị số hóa tần số thấp . Có thể tái tạo lại dạng sóng từ hiểu biết về dạng

Page 29: Two's Complement Binary Numbers - asdlib.org  · Web viewPlace value works for binary just as it does for the decimal system. In ordinary decimal numbers 234 means 2×100 + 3×10

frequency. Any periodic waveform can be decomposed into a sum of harmonics, that is, multiples of the lowest periodic frequency in the waveform. See separate tutorial.

It will not escape the notice of the careful observer that the sampled points in the first two plots in the Aliasing section, particularly for the time-varying waveform, appears to be quite noisy. Any time one sees sampled data jumping noisily about, one should be highly suspicious that one is NOT seeing real noise and NOT seeing a high frequency waveform, but rather that one is seeing aliasing of something whose nature can not be directly inferred from the observed time series.

2. How does an aliased waveform appear?

Let's look at some numerical examples, then generalize. Suppose the real waveform (observed by high frequency sampling) is known to be at 1000 Hz. At what frequency would it appear if sampled at 1 Hz? First of all, if there is jitter (variation in frequency over the course of an experiment), we may just see a blur. But if everything is stable, We will see what looks like a single value -- all zeros (if the sampling is synchronized to the zero crossing at each half-millisecond interval) or all some other value. 1000 Hz is the 1000 multiple or 1000th harmonic of 1 Hz. What if we sample at 1.1 Hz? If the first point is taken at a positive-going zero crossing of the 1000 Hz waveform, we will take 11 points during the ensuing 10 s before hitting the next mutual point of positive zero crossing. The apparent frequency of the sampled waveform will be 0.1 Hz. Sample at 202 Hz, and we see one sampled cycle in 0.1 s.

sóng được lấy mẫu và từ các tính chất từ đầu ra của lọc chống giả danh. Cho tới nay, hướng tiếp cận thông thường là cản nhiễu tần số cao và các tín hiệu can thiệp khác. Thiết kế các bộ lọc như vậy nằm ngoài phạm vi của phần này. Thiêt bị lọc như vậy sẽ chắc chắn phải được dùng, dựa trên thảo luận và các bài tập ở trên.

3. Dùng một thiết bị số hóa tần số thấp để số hóa dạng sóng tần số cao. Đôi khi, có thể dùng giả dùng cho thuận tiện. Giả sử có thiết bị lọc chống giả danh có thể chuyển tín hiệu 11 tới 13 KHz, và tiến hành lấy mẫu với thiết bị số hóa 7KHz. Tín hiệu sẽ xuất hiện trong khoảng tần số nào? Dùng phận thảo luânj về modulus và giả danh ở trên để tính toán phạm vi của tần số.

Page 30: Two's Complement Binary Numbers - asdlib.org  · Web viewPlace value works for binary just as it does for the decimal system. In ordinary decimal numbers 234 means 2×100 + 3×10

Is there a pattern emerging? An integer times the sampling rate differs from the actual signal frequency by the observed, aliased frequency. We'll put the integer in green to make it obvious. 1000 - 5*202 = 1000 - 1010 = -10 Hz (period = 0.1 s, as seen in the above figure). 0.9 Hz - 1*1 Hz = - 0.1 Hz (several previous examples). 1000 - 909*1.1 = 0.1 Hz.

The missing mathematical concept here is modulus. The modulus is the remainder from a division problem. 7 modulus 4 = 3. 19 modulus 6 = 2. So in determining the effect of aliasing, the apparent frequency is determined by finding which harmonic is closest to the actual frequency, then subtracting the harmonic number times the sampling frequency from the actual frequency. Thus, at the end of the previous paragraph, we subtracted the 909th harmonic of 1.1

Page 31: Two's Complement Binary Numbers - asdlib.org  · Web viewPlace value works for binary just as it does for the decimal system. In ordinary decimal numbers 234 means 2×100 + 3×10

Hz from 1000 Hz. What would have happened if we'd used the 908th or 910th harmonic? 1000 - 908*1.1 = 1000 - 998.8 = 1.2 Hz, and 1.2 is bigger (in absolute value) than the Nyquist frequency (1.1 Hz/2 = 0.55 Hz). 1000 - 910*1.1 = 1000 - 1001 = -1 Hz, which is also (in absolute value) bigger than the Nyquist freqency. So choose the harmonic such that, when the harmonic frequency is subtracted from the true frequency, the result lies between 1 Nyquist frequency (in absolute value) of 0.

Exercise: A 1.275 MHz signal is sampled at 50.000 KHz. At what frequency does the aliased signal appear? Click for answer  

3. Preventing high frequency noise from being aliased to lower frequency measurements

Aliasing can only be prevented by suppressing high frequency information. If a waveform is a sum of a 1 KHz and a 12 KHz component, sampling at 7 KHz will give the 1 KHz component directly and alias the 12 KHz component to 1.5 KHz (Nyquist frequency 3.5 KHz; 3rd harmonic of the Nyquist frequency is at 10.5 KHz, so the aliasing is at 12 KHz - 10.5 KHz = 1.5 KHz). As we have said several times on this page, there is no way after sampling has occurred to tell if the 1.5 KHz component (or, for that matter, the 1 KHz component!) is real or aliased. Thus, one requires an anti-aliasing filter or an electronic device to limit the range of frequencies reaching the digitizer to suppress signals outside the unaliased range one wishes to observe. Alternately, one might suppress frequencies outside a narrow range (including suppressing

Page 32: Two's Complement Binary Numbers - asdlib.org  · Web viewPlace value works for binary just as it does for the decimal system. In ordinary decimal numbers 234 means 2×100 + 3×10

low frequencies) so that one can INTENTIONALLY alias a high frequency signal into the range of a low frequency digitizer. One can then reconstruct the true waveform from knowledge of the sampled waveform and the anti-aliasing filter's throughput properties. By far the most common approach is to use a low-pass filter (a filter that lets through DC and slowly changing signals) to block high frequency noise and interfering signals. The design of such filters is outside the scope of this module. That such filters MUST be used should be evident, based on the discussion and exercises above.

4. Using a low frequency digitizer to digitize a high frequency waveform

Sometimes we can use aliasing to our advantage. Suppose we use an anti-aliasing filter that passes signals from 11 to 13 KHz, and we sample the filtered signal with a 7 KHz digitizer. Over what range of frequencies would the signals appear? Use the discussion of modulus and aliasing above to compute the range of observed frequencies.