通信原理实验(一)采样与量化实验

目录

一、背景介绍

(1)、采样

(2)、量化

二、图示与公式

1. 采样图示

2. 时域表达式

3. 频域表达式

4. 量化

三、实验任务

四、实验代码

五、讨论补充


一、背景介绍

        在数字信号处理和通信领域,采样和量化是两个重要概念,常用于将连续时间信号转换为离散时间信号(数字信号)的过程。

(1)、采样
  • 采样是指在连续时间信号中按照一定时间间隔取样,将连续时间信号转换为离散时间信号的过程。
  • 采样频率决定了每秒钟采样多少次,通常以赫兹(Hz)为单位表示,采样频率越高,对原始信号的描述就越准确。
  • 根据奈奎斯特采样定理,为了避免采样导致的混叠效应,采样频率应至少是信号中最高频率成分的两倍。
(2)、量化
  • 量化是指将连续信号的幅度值映射到一个有限的离散值集合上的过程。
  • 量化过程中,连续的幅度范围被划分为若干个离散的级别,每个级别对应一个数字值。
  • 量化级别的选择决定了数字信号的精度,通常用比特数表示,如8位量化表示可以表示256个不同的数值。

二、图示与公式

1. 采样图示

2. 时域表达式

        m_{s}(t)=m(t) \delta _{T}(t)=\sum_{m=-\infty }^{\infty} m(nT_{s})\delta(t-nT_{s})

3. 频域表达式

        \hspace{0.4cm} M_{s}(\omega )=\frac{1}{2\pi } [M(\omega )*\delta _{T}(\omega)] \\=\frac{1}{T_{s}} [M(\omega )*\sum_{m=-\infty }^{\infty} \delta(\omega-n\omega_{s})]\\=\frac{1}{T_{s}} \sum_{m=-\infty }^{\infty} M(\omega-n\omega_{s})

4. 量化

        假设输入信号的范围在a和b之间,量化电平为M。

        均匀量化时的量化区间为:   \hspace{2cm} \bigtriangleup V=\frac{b-a}{M}

        量化区间中点为:           q_{i} =\frac{m_{i}+m_{i-1}}{2} , \hspace{0.2cm} i = 0,1,\cdots M

三、实验任务

假设有一信号为 m(t)=cos(90\pi t).

1. 设采样率为 fs=2000,绘制原始信号和采样信号。(采样率可自定义,需满足采样定理)

2. 绘制量化信号(均匀量化,量化级数为32)。(量化数可自定义)

四、实验代码

close all;

%% (1) The Original Signal
t = 0:1e-5:1;           % We use a quite high sampling rate to approximate continuous signals               
m_t = cos(90*pi*t);     % Original signal

figure;
plot(t, m_t);
xlim([0 0.1]);
ylim([-1.1 1.1]);
xlabel('Time (t/s)',FontSize=15);
ylabel('Amplitude',FontSize=15);
title('Original Signal',FontSize=18);

%% (2) Sampled Signal
fs = 2000;                          % Sampling rate
Ts = 1/fs;                          % Sampling period
n = 0:Ts:1;                         % Discrete time vector
m_n = cos(90*pi*n);                 % Sampled signal with fs = 2000

figure;
stem(n, m_n, 'Marker', '.');
xlim([0 0.1]);
ylim([-1.1 1.1]);
xlabel('Discrete Time (t/s)',FontSize=15);
ylabel('Amplitude',FontSize=15);
title('Sampled Signal',FontSize=18);

%% (3) Quantized Signal
quantization_levels = 32;           % Number of quantization levels
quantization_interval = (max(m_n) - min(m_n)) / quantization_levels; % Quantization interval size
quantized_signal = round(m_n / quantization_interval) * quantization_interval; % Quantize signal

% Obtain the quantitative value list
Q_value = unique(quantized_signal);

figure;
stem(n, quantized_signal);
xlim([0 0.1]);
ylim([-1.1 1.1]);
xlabel('Discrete Time (t/s)',FontSize=15);
ylabel('Amplitude',FontSize=15);
title('Quantized Signal (Uniform Quantization)',FontSize=18);

%% Calculate Quantization SNR
quantization_error = m_n - quantized_signal;

% Calculate mean squared quantization error
mean_square_quantization_error = mean(quantization_error.^2);

% Calculate mean squared sampled signal
mean_square_sampled_signal = mean(m_n.^2);

% Calculate Quantization SNR
quantization_error_ratio = mean_square_sampled_signal / mean_square_quantization_error ;

% Represent in dB
SNR_simu = 10 * log10(quantization_error_ratio)

% Theoretical value calculation (dB)
SNR_theo = 20*log10(quantization_levels)

五、讨论补充

        如果同学们有任何的想法,或者文章出现任何问题,欢迎指正,欢迎交流!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值