how to simulate ADC through matlab code
Show older comments
Hi,
Suggest matlab code for simulating high speed ADC's and DAC's.
regards,
srinivas
2 Comments
Dimitris Kalogiros
on 2 Jan 2020
Be more specific about "high speed"
Are you trying to simulate the quantization noise o a ADC/DAC or (in addition) some other impairments?
Durga srinivasu Jarajapu
on 2 Jan 2020
Accepted Answer
More Answers (4)
po-wei huang
on 18 Apr 2020
0 votes
You can try this sample in which both ADC/DAC is provided.
Idin Motedayen-Aval
on 18 Nov 2024
0 votes
If interested in simulating architecture of ADCs and DACs, you can look at Mixed-Signal Blockset:
This goes beyond just quantization and allows you to simulate different architectures for data converters and various impairments.
Pragati
about 6 hours ago
0 votes
If your goal is to simulate an ADC in MATLAB, it depends on the level of abstraction you want.1. Basic MATLAB (code-only) approach
At a minimum, an ADC simulation consists of three steps:
- Sampling the analog signal
- Quantization to discrete levels
- Encoding into digital values
This can be implemented using standard MATLAB operations (e.g., rounding, scaling). For example, quantization can be modeled by mapping values to 2N2^N2N levels based on the ADC resolution.
Another simple approach mentioned in the thread is using fixed-point (fi) objects, which naturally capture quantization behavior of ADC/DAC systems
The above approach only captures:
- Quantization
- Basic sampling effects
It does not model real ADC behavior, such as:
- Nonlinearity
- Jitter
- Architecture-specific effects
If you want to simulate realistic ADC behavior, use Mixed-Signal Blockset:
- Provides ADC architectures (SAR, Delta-Sigma, Flash, etc.)
- Allows modeling of impairments (noise, jitter, nonlinearity)
- Includes testbenches and measurement workflows
For example, MSB models let you simulate:
- Sampling + quantization
- Spectral performance (SNR, ENOB)
- Impact of impairments on system behavior
1 Comment
Walter Roberson
7 minutes ago
2N2^N2N
Sorry, I do not understand how that is intended to be parsed? The standard parsing of 2*N*(2^N)*2*N does not make any internal sense, and neither does 2*(N^2)^(N^(2*N))
Pragati
28 minutes ago
0 votes
Sorry for the typo. I meant to say "2^N quantization level"
Categories
Find more on Data Converters in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!