ADC first transition at 1/2 LSB - is that not a non-linearity?Implications of INL on the accuracy and resolution of an ADCSTM32 F4 - ADC in Dual Mode SimultaneouslyStuck codes in samples from ADCOptimal tradeoff between ADC bit depth and sampling rateIntegral non linearity in ADCADC quantization - LSB random?ADC Input Stage LinearityMCP3201 ADC timing clarificationsAm I using ARM 7 LPC21xx ADC register correctly?Unwanted constant offset in ADC reading
Company indirectly discriminating against introverts, specifically INTJ
Stare long enough and you will have found the answer
I run daily 5kms but I cant seem to improve stamina when playing soccer
When and why did the House rules change to permit an inquiry without a vote?
When was the famous "sudo warning" introduced? Under what background? By whom?
Rules on "Pets on shoulder"
I don't want my ls command in my script to print results on screen
Who inspired the character Geordi La Forge?
Generate an array with custom index
Does code obfuscation give any measurable security benefit?
Are there any composer instructions on how to play a melody?
Was Switzerland pressured either by Allies or Axis to take part in World War 2 at any time?
Have the US and Russia (or USSR before it) co-vetoed a UN resolution before today?
Can set-like objects obeying ZFC be constructed in Euclidean geometry?
What plausible reasons why people forget they didn't originally live on this new planet?
Raise Error Concatenation in SQL Server
How does an Evocation Wizard's Overchannel ability interact with Chaos Bolt?
Is it unusual that English uses possessive for past tense?
Is the phrase “You are requested” polite or rude?
Why it is a big deal whether or not Adam Schiff talked to the whistleblower?
Most optimal hallways with random gravity inside?
Does any politician - honestly - want a No Deal Brexit?
Cutting a 4.5m long 2x6 in half with a circular saw
When applying for a visa has there ever been a case of embassy asking for proof of right to be in the present country?
ADC first transition at 1/2 LSB - is that not a non-linearity?
Implications of INL on the accuracy and resolution of an ADCSTM32 F4 - ADC in Dual Mode SimultaneouslyStuck codes in samples from ADCOptimal tradeoff between ADC bit depth and sampling rateIntegral non linearity in ADCADC quantization - LSB random?ADC Input Stage LinearityMCP3201 ADC timing clarificationsAm I using ARM 7 LPC21xx ADC register correctly?Unwanted constant offset in ADC reading
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty
margin-bottom:0;
$begingroup$
[From Analog Devices Data Converter Handbook]
I understand why they chose to place the first transition at the 1/2 LSB point but does that not cause non-linearity?, since you basically have reduced the probability that a 000 code could occur?
adc
$endgroup$
add a comment
|
$begingroup$
[From Analog Devices Data Converter Handbook]
I understand why they chose to place the first transition at the 1/2 LSB point but does that not cause non-linearity?, since you basically have reduced the probability that a 000 code could occur?
adc
$endgroup$
$begingroup$
Think back to junior high geometry, y=mx+b. What you are describing, if you want to argue it is even a flaw at all (which is dubious) is at most change in b, or the offset. Still linear. Non-linearity would only occur if the spacing between the transitions points were unequal.
$endgroup$
– Chris Stratton
8 hours ago
$begingroup$
Okay, maybe that was a bad explanation. It is linear but is it not at a flaw? For an analog input range of 0 to 1/2LSB, the ADC produces 000. But from 1/2 LSB to 3/2 LSB, the ADC produces 001?
$endgroup$
– AlfroJang80
8 hours ago
$begingroup$
@ChrisStratton Is that not the case though? The first transition region occurs at 1/2LSB and the second transition region occurs at 3/2LSB. Third transition region occurs at 2.5 LSB. Actually that is a 1 LSB difference each time. I just can't understand by looking at the graph how that's okay. The 000 digital code has a smaller analog input than the other codes. Doesn't sit well within my head.
$endgroup$
– AlfroJang80
7 hours ago
$begingroup$
This ADC sample is single ended, if you extend the graph to negative you will see that each value is valid/represented with exactly 1lsb wide equivalent analog range (-0.5 to 0.5 lsb in this case) . This graph is cut at v>0
$endgroup$
– crasic
5 hours ago
$begingroup$
Additionally, even in single ended regime. Your application should not be really care to resolve such difference between 0/1lsb. The effective noise free bits are always less than the total number of bits, and are not related to linearity spec at all. Code words with difference of 1 lsb are redundant in a complicated manner due to noise anyway and this minor aberation should do nothing. Note that for an 8bit ADC 1 lsb is 0.25% for a 24 bit ADC it is approx 30 part per billion, equivalent to -150db. Oh boy
$endgroup$
– crasic
5 hours ago
add a comment
|
$begingroup$
[From Analog Devices Data Converter Handbook]
I understand why they chose to place the first transition at the 1/2 LSB point but does that not cause non-linearity?, since you basically have reduced the probability that a 000 code could occur?
adc
$endgroup$
[From Analog Devices Data Converter Handbook]
I understand why they chose to place the first transition at the 1/2 LSB point but does that not cause non-linearity?, since you basically have reduced the probability that a 000 code could occur?
adc
adc
asked 8 hours ago
AlfroJang80AlfroJang80
8706 silver badges16 bronze badges
8706 silver badges16 bronze badges
$begingroup$
Think back to junior high geometry, y=mx+b. What you are describing, if you want to argue it is even a flaw at all (which is dubious) is at most change in b, or the offset. Still linear. Non-linearity would only occur if the spacing between the transitions points were unequal.
$endgroup$
– Chris Stratton
8 hours ago
$begingroup$
Okay, maybe that was a bad explanation. It is linear but is it not at a flaw? For an analog input range of 0 to 1/2LSB, the ADC produces 000. But from 1/2 LSB to 3/2 LSB, the ADC produces 001?
$endgroup$
– AlfroJang80
8 hours ago
$begingroup$
@ChrisStratton Is that not the case though? The first transition region occurs at 1/2LSB and the second transition region occurs at 3/2LSB. Third transition region occurs at 2.5 LSB. Actually that is a 1 LSB difference each time. I just can't understand by looking at the graph how that's okay. The 000 digital code has a smaller analog input than the other codes. Doesn't sit well within my head.
$endgroup$
– AlfroJang80
7 hours ago
$begingroup$
This ADC sample is single ended, if you extend the graph to negative you will see that each value is valid/represented with exactly 1lsb wide equivalent analog range (-0.5 to 0.5 lsb in this case) . This graph is cut at v>0
$endgroup$
– crasic
5 hours ago
$begingroup$
Additionally, even in single ended regime. Your application should not be really care to resolve such difference between 0/1lsb. The effective noise free bits are always less than the total number of bits, and are not related to linearity spec at all. Code words with difference of 1 lsb are redundant in a complicated manner due to noise anyway and this minor aberation should do nothing. Note that for an 8bit ADC 1 lsb is 0.25% for a 24 bit ADC it is approx 30 part per billion, equivalent to -150db. Oh boy
$endgroup$
– crasic
5 hours ago
add a comment
|
$begingroup$
Think back to junior high geometry, y=mx+b. What you are describing, if you want to argue it is even a flaw at all (which is dubious) is at most change in b, or the offset. Still linear. Non-linearity would only occur if the spacing between the transitions points were unequal.
$endgroup$
– Chris Stratton
8 hours ago
$begingroup$
Okay, maybe that was a bad explanation. It is linear but is it not at a flaw? For an analog input range of 0 to 1/2LSB, the ADC produces 000. But from 1/2 LSB to 3/2 LSB, the ADC produces 001?
$endgroup$
– AlfroJang80
8 hours ago
$begingroup$
@ChrisStratton Is that not the case though? The first transition region occurs at 1/2LSB and the second transition region occurs at 3/2LSB. Third transition region occurs at 2.5 LSB. Actually that is a 1 LSB difference each time. I just can't understand by looking at the graph how that's okay. The 000 digital code has a smaller analog input than the other codes. Doesn't sit well within my head.
$endgroup$
– AlfroJang80
7 hours ago
$begingroup$
This ADC sample is single ended, if you extend the graph to negative you will see that each value is valid/represented with exactly 1lsb wide equivalent analog range (-0.5 to 0.5 lsb in this case) . This graph is cut at v>0
$endgroup$
– crasic
5 hours ago
$begingroup$
Additionally, even in single ended regime. Your application should not be really care to resolve such difference between 0/1lsb. The effective noise free bits are always less than the total number of bits, and are not related to linearity spec at all. Code words with difference of 1 lsb are redundant in a complicated manner due to noise anyway and this minor aberation should do nothing. Note that for an 8bit ADC 1 lsb is 0.25% for a 24 bit ADC it is approx 30 part per billion, equivalent to -150db. Oh boy
$endgroup$
– crasic
5 hours ago
$begingroup$
Think back to junior high geometry, y=mx+b. What you are describing, if you want to argue it is even a flaw at all (which is dubious) is at most change in b, or the offset. Still linear. Non-linearity would only occur if the spacing between the transitions points were unequal.
$endgroup$
– Chris Stratton
8 hours ago
$begingroup$
Think back to junior high geometry, y=mx+b. What you are describing, if you want to argue it is even a flaw at all (which is dubious) is at most change in b, or the offset. Still linear. Non-linearity would only occur if the spacing between the transitions points were unequal.
$endgroup$
– Chris Stratton
8 hours ago
$begingroup$
Okay, maybe that was a bad explanation. It is linear but is it not at a flaw? For an analog input range of 0 to 1/2LSB, the ADC produces 000. But from 1/2 LSB to 3/2 LSB, the ADC produces 001?
$endgroup$
– AlfroJang80
8 hours ago
$begingroup$
Okay, maybe that was a bad explanation. It is linear but is it not at a flaw? For an analog input range of 0 to 1/2LSB, the ADC produces 000. But from 1/2 LSB to 3/2 LSB, the ADC produces 001?
$endgroup$
– AlfroJang80
8 hours ago
$begingroup$
@ChrisStratton Is that not the case though? The first transition region occurs at 1/2LSB and the second transition region occurs at 3/2LSB. Third transition region occurs at 2.5 LSB. Actually that is a 1 LSB difference each time. I just can't understand by looking at the graph how that's okay. The 000 digital code has a smaller analog input than the other codes. Doesn't sit well within my head.
$endgroup$
– AlfroJang80
7 hours ago
$begingroup$
@ChrisStratton Is that not the case though? The first transition region occurs at 1/2LSB and the second transition region occurs at 3/2LSB. Third transition region occurs at 2.5 LSB. Actually that is a 1 LSB difference each time. I just can't understand by looking at the graph how that's okay. The 000 digital code has a smaller analog input than the other codes. Doesn't sit well within my head.
$endgroup$
– AlfroJang80
7 hours ago
$begingroup$
This ADC sample is single ended, if you extend the graph to negative you will see that each value is valid/represented with exactly 1lsb wide equivalent analog range (-0.5 to 0.5 lsb in this case) . This graph is cut at v>0
$endgroup$
– crasic
5 hours ago
$begingroup$
This ADC sample is single ended, if you extend the graph to negative you will see that each value is valid/represented with exactly 1lsb wide equivalent analog range (-0.5 to 0.5 lsb in this case) . This graph is cut at v>0
$endgroup$
– crasic
5 hours ago
$begingroup$
Additionally, even in single ended regime. Your application should not be really care to resolve such difference between 0/1lsb. The effective noise free bits are always less than the total number of bits, and are not related to linearity spec at all. Code words with difference of 1 lsb are redundant in a complicated manner due to noise anyway and this minor aberation should do nothing. Note that for an 8bit ADC 1 lsb is 0.25% for a 24 bit ADC it is approx 30 part per billion, equivalent to -150db. Oh boy
$endgroup$
– crasic
5 hours ago
$begingroup$
Additionally, even in single ended regime. Your application should not be really care to resolve such difference between 0/1lsb. The effective noise free bits are always less than the total number of bits, and are not related to linearity spec at all. Code words with difference of 1 lsb are redundant in a complicated manner due to noise anyway and this minor aberation should do nothing. Note that for an 8bit ADC 1 lsb is 0.25% for a 24 bit ADC it is approx 30 part per billion, equivalent to -150db. Oh boy
$endgroup$
– crasic
5 hours ago
add a comment
|
2 Answers
2
active
oldest
votes
$begingroup$
Unlike the LSB code, which can only have certain discrete values, the analog input is a real, physical, continuous voltage input, which can go above full scale and below zero (even if that violates existing table or abs max rating). What’s misleading is that the graph makes it look like the analog input range for code 0 is smaller than the others, when in fact it is the same size. It’s just that the left half of the code 0 input voltage range is below zero volts, so it is not show on this graph. If they extended the horizontal axis to include negative input voltage, it would be a straight line extending through the “missing” half of the nominal code 0 range, and continuing at 0 as the lower saturation limit, just like the full scale limit does. When you look at a bipolar ADC transfer function, it’s more obvious because the 0 voltage 0 LSB code point is in the center, with positive and negative full scale staircases in opposite directions. This unipolar ADC transfer function graph just looks weird because of where they stopped the horizontal axis.
$endgroup$
add a comment
|
$begingroup$
A typical ADC gets very, very nonlinear as you hit the saturation. The 1/2 LSB is just the tip of it, since it reads 0 for any voltage below 0. It’s all kind of theoretical anyway since most ADCs have more than 1/2 LSB of offset voltage.
$endgroup$
add a comment
|
Your Answer
StackExchange.ifUsing("editor", function ()
return StackExchange.using("schematics", function ()
StackExchange.schematics.init();
);
, "cicuitlab");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "135"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/4.0/"u003ecc by-sa 4.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2felectronics.stackexchange.com%2fquestions%2f462522%2fadc-first-transition-at-1-2-lsb-is-that-not-a-non-linearity%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
$begingroup$
Unlike the LSB code, which can only have certain discrete values, the analog input is a real, physical, continuous voltage input, which can go above full scale and below zero (even if that violates existing table or abs max rating). What’s misleading is that the graph makes it look like the analog input range for code 0 is smaller than the others, when in fact it is the same size. It’s just that the left half of the code 0 input voltage range is below zero volts, so it is not show on this graph. If they extended the horizontal axis to include negative input voltage, it would be a straight line extending through the “missing” half of the nominal code 0 range, and continuing at 0 as the lower saturation limit, just like the full scale limit does. When you look at a bipolar ADC transfer function, it’s more obvious because the 0 voltage 0 LSB code point is in the center, with positive and negative full scale staircases in opposite directions. This unipolar ADC transfer function graph just looks weird because of where they stopped the horizontal axis.
$endgroup$
add a comment
|
$begingroup$
Unlike the LSB code, which can only have certain discrete values, the analog input is a real, physical, continuous voltage input, which can go above full scale and below zero (even if that violates existing table or abs max rating). What’s misleading is that the graph makes it look like the analog input range for code 0 is smaller than the others, when in fact it is the same size. It’s just that the left half of the code 0 input voltage range is below zero volts, so it is not show on this graph. If they extended the horizontal axis to include negative input voltage, it would be a straight line extending through the “missing” half of the nominal code 0 range, and continuing at 0 as the lower saturation limit, just like the full scale limit does. When you look at a bipolar ADC transfer function, it’s more obvious because the 0 voltage 0 LSB code point is in the center, with positive and negative full scale staircases in opposite directions. This unipolar ADC transfer function graph just looks weird because of where they stopped the horizontal axis.
$endgroup$
add a comment
|
$begingroup$
Unlike the LSB code, which can only have certain discrete values, the analog input is a real, physical, continuous voltage input, which can go above full scale and below zero (even if that violates existing table or abs max rating). What’s misleading is that the graph makes it look like the analog input range for code 0 is smaller than the others, when in fact it is the same size. It’s just that the left half of the code 0 input voltage range is below zero volts, so it is not show on this graph. If they extended the horizontal axis to include negative input voltage, it would be a straight line extending through the “missing” half of the nominal code 0 range, and continuing at 0 as the lower saturation limit, just like the full scale limit does. When you look at a bipolar ADC transfer function, it’s more obvious because the 0 voltage 0 LSB code point is in the center, with positive and negative full scale staircases in opposite directions. This unipolar ADC transfer function graph just looks weird because of where they stopped the horizontal axis.
$endgroup$
Unlike the LSB code, which can only have certain discrete values, the analog input is a real, physical, continuous voltage input, which can go above full scale and below zero (even if that violates existing table or abs max rating). What’s misleading is that the graph makes it look like the analog input range for code 0 is smaller than the others, when in fact it is the same size. It’s just that the left half of the code 0 input voltage range is below zero volts, so it is not show on this graph. If they extended the horizontal axis to include negative input voltage, it would be a straight line extending through the “missing” half of the nominal code 0 range, and continuing at 0 as the lower saturation limit, just like the full scale limit does. When you look at a bipolar ADC transfer function, it’s more obvious because the 0 voltage 0 LSB code point is in the center, with positive and negative full scale staircases in opposite directions. This unipolar ADC transfer function graph just looks weird because of where they stopped the horizontal axis.
answered 6 hours ago
MarkUMarkU
7,5441 gold badge13 silver badges24 bronze badges
7,5441 gold badge13 silver badges24 bronze badges
add a comment
|
add a comment
|
$begingroup$
A typical ADC gets very, very nonlinear as you hit the saturation. The 1/2 LSB is just the tip of it, since it reads 0 for any voltage below 0. It’s all kind of theoretical anyway since most ADCs have more than 1/2 LSB of offset voltage.
$endgroup$
add a comment
|
$begingroup$
A typical ADC gets very, very nonlinear as you hit the saturation. The 1/2 LSB is just the tip of it, since it reads 0 for any voltage below 0. It’s all kind of theoretical anyway since most ADCs have more than 1/2 LSB of offset voltage.
$endgroup$
add a comment
|
$begingroup$
A typical ADC gets very, very nonlinear as you hit the saturation. The 1/2 LSB is just the tip of it, since it reads 0 for any voltage below 0. It’s all kind of theoretical anyway since most ADCs have more than 1/2 LSB of offset voltage.
$endgroup$
A typical ADC gets very, very nonlinear as you hit the saturation. The 1/2 LSB is just the tip of it, since it reads 0 for any voltage below 0. It’s all kind of theoretical anyway since most ADCs have more than 1/2 LSB of offset voltage.
answered 2 hours ago
Spehro PefhanySpehro Pefhany
225k5 gold badges180 silver badges473 bronze badges
225k5 gold badges180 silver badges473 bronze badges
add a comment
|
add a comment
|
Thanks for contributing an answer to Electrical Engineering Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
Use MathJax to format equations. MathJax reference.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2felectronics.stackexchange.com%2fquestions%2f462522%2fadc-first-transition-at-1-2-lsb-is-that-not-a-non-linearity%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
$begingroup$
Think back to junior high geometry, y=mx+b. What you are describing, if you want to argue it is even a flaw at all (which is dubious) is at most change in b, or the offset. Still linear. Non-linearity would only occur if the spacing between the transitions points were unequal.
$endgroup$
– Chris Stratton
8 hours ago
$begingroup$
Okay, maybe that was a bad explanation. It is linear but is it not at a flaw? For an analog input range of 0 to 1/2LSB, the ADC produces 000. But from 1/2 LSB to 3/2 LSB, the ADC produces 001?
$endgroup$
– AlfroJang80
8 hours ago
$begingroup$
@ChrisStratton Is that not the case though? The first transition region occurs at 1/2LSB and the second transition region occurs at 3/2LSB. Third transition region occurs at 2.5 LSB. Actually that is a 1 LSB difference each time. I just can't understand by looking at the graph how that's okay. The 000 digital code has a smaller analog input than the other codes. Doesn't sit well within my head.
$endgroup$
– AlfroJang80
7 hours ago
$begingroup$
This ADC sample is single ended, if you extend the graph to negative you will see that each value is valid/represented with exactly 1lsb wide equivalent analog range (-0.5 to 0.5 lsb in this case) . This graph is cut at v>0
$endgroup$
– crasic
5 hours ago
$begingroup$
Additionally, even in single ended regime. Your application should not be really care to resolve such difference between 0/1lsb. The effective noise free bits are always less than the total number of bits, and are not related to linearity spec at all. Code words with difference of 1 lsb are redundant in a complicated manner due to noise anyway and this minor aberation should do nothing. Note that for an 8bit ADC 1 lsb is 0.25% for a 24 bit ADC it is approx 30 part per billion, equivalent to -150db. Oh boy
$endgroup$
– crasic
5 hours ago