基于VCO的OTA稳定性分析的零交叉时差模型研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥

****🏆博主优势:**🌞🌞🌞**博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️**座右铭:**行百里者,半于九十。

📋📋📋++本文目录如下:++🎁🎁🎁

目录

[💥1 概述](#💥1 概述)

[📚2 运行结果](#📚2 运行结果)

[🎉3 参考文献](#🎉3 参考文献)

[🌈4 Matlab代码、数据、文献](#🌈4 Matlab代码、数据、文献)


💥1 概述

本文介绍了基于电压控制振荡器的跨导运算放大器(VCO-OTA)的过零时差模型(ZCTDM)。小信号、线性、离散时间模型以等距时间间隔提供输出电流脉冲,其幅度与VCO-OTA中两个VCO的过零点之间的时间差成正比。与连续时相域模型(CT-PDM)和脉冲不变变换模型(IITM)相比,ZCTDM考虑了VCO振荡频率附近输出端产生的高频信号和高频输入响应。因此,ZCTDM在反馈配置中捕获VCO-OTA的完整环路响应,只要输出电压放电速率小于系统更新速率,大多数应用中都是这种情况。通过两个设计示例演示了该模型的应用。使用ZCTDM建模的系统的频率响应与使用广泛的行为模型模拟的响应的频率响应在0.5dBRMS以内,而使用CT-PDM和IITM得出的结果在定性和定量上都存在显着偏差。

操作跨导放大器(OTA)构成了许多模拟和混合信号电路的核心,例如滤波器、RF调制器、DC-DC转换器和模数转换器(ADC)1--6。随着过去几十年技术的发展,晶体管的电源电压和固有增益降低了,而晶体管速度却提高了7。对于模拟电路,尤其是OTA,需要晶体管的高固有增益才能提供高直流增益。随着电源电压的缩放,晶体管的堆叠变得越来越困难,因此必须使用多级OTA来提供高直流增益。然而,在此类 OTA 中,在保持稳定性的同时实现高带宽变得困难。

基于压控振荡器 (VCO) 的 OTA (VCO-OTA) 图 1(a) 已成为传统放大器的替代品,并且由于频率到相位转换而提供高直流增益。他们受益于技术扩展,因为他们的块1-38-10的数字性质。VCO-OTA已在滤波器、接收器、DC-DC转换器、低压差稳压器和ADC 1--68--14等多种应用中得到证明。

📚 2 运行结果

剩余其他运行结果图直接去掉Matlab外框 。

部分代码:

%% Plots:

% first row: simple sine wave sampled at vco frequency and its spectrum

% second row: emulates impulses. So the spectrum contains first order

% tones.

% third row: creating PWM and plotting that.

figure(1); clf;

subplot(3,3,1)

plot((1:length(vin_pwm))*ts,vin_pwm,'-k','LineWidth',line_width); grid on; ylim(-1.5\*PWM_amp_max,1.5\*PWM_amp_max); xlim(0,1/fin);

subplot(3,3,3);

plot(1/(tsim)*(-length(vin_pwm)/2:length(vin_pwm)/2-1),pwm_fft_norm,'-k', 'LineWidth',line_width); grid on; xlim(0,1.5/tvco); ylim(-80, 0);

subplot(3,3,4);

plot((1:length(vin_upsampled))*ts,vin_upsampled,'-b', 'LineWidth',line_width); grid on; xlim(0,1/fin); ylim(-1.4\*A,1.4\*A);

subplot(3,3,6);

plot(1/(tsim)*(-length(vin_upsampled)/2:length(vin_upsampled)/2-1),upsampled_fft_norm,'-b', 'LineWidth',line_width); grid on; xlim(0,1.5/tvco);

subplot(3,3,7);

plot((1:length(vin))*ts*OSR,vin,'-r', 'LineWidth',line_width); grid on; xlim(0,1/fin);ylim(-1.4\*A,1.4\*A);

subplot(3,3,9);

plot(1/tsim*(-length(vin)/2:length(vin)/2-1),20*log10(fftshift(abs(fft(vin)))),'-r', 'LineWidth',line_width); grid on; xlim(0,0.5/tvco); ylim(-400,0);

subplot(3,3,1); fig_set_text('PWM signal', 'time(s)','I_{CP}(mA)',font_size);

subplot(3,3,3); fig_set_text('PWM signal FFT', 'freq.(Hz)','Norm. Mag. (dB)',font_size);

subplot(3,3,4); fig_set_text('ZCTDM signal', 'time(s)','I_{CP}^*(mA)',font_size);

subplot(3,3,6); fig_set_text('ZCTDM signal FFT', 'freq.(Hz)','Norm. Mag. (dB)',font_size);

% s_ylabel = '\\overline{I_{CP}}(mA)';

s_ylabel = 'I_{CP}(mA)';

subplot(3,3,7); fig_set_text('CT-PDM signal', 'time(s)',s_ylabel,font_size);

% h = ylabel(s_ylabel,'FontName','Times','fontweight','bold','fontsize',fontsize,'Interpreter','latex');

subplot(3,3,9); fig_set_text('CT-PDM signal FFT', 'freq.(Hz)','Norm. Mag. (dB)',font_size);

subplot(3,3,2);

plot((1:length(vin_pwm))*ts,vin_pwm,'-k','LineWidth',line_width); grid on; ylim(-1.5\*PWM_amp_max,1.5\*PWM_amp_max); xlim(0.215/fin,0.245/fin);

subplot(3,3,5);

plot((1:length(vin_upsampled))*ts,vin_upsampled,'-b', 'LineWidth',line_width); grid on; xlim(0.215/fin,0.245/fin); ylim(-1.4\*A,1.4\*A);

subplot(3,3,8);

plot((1:length(vin))*ts*OSR,vin,'-r', 'LineWidth',line_width); grid on; xlim(0.215/fin,0.245/fin);ylim(-1.4\*A,1.4\*A);

subplot(3,3,2); fig_set_text('Zoomed PWM signal', 'time(s)','I_{CP}(mA)',font_size);

subplot(3,3,5); fig_set_text('Zoomed ZCTDM signal', 'time(s)','I_{CP}^*(mA)',font_size);

subplot(3,3,8); fig_set_text('Zoomed CT-PDM signal', 'time(s)',s_ylabel,font_size);

saveas(gcf, '../results/Fig05.png');

🎉3 参考文献

文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。

🌈4 Matlab代码、数据、文献

相关推荐
weixin_440730504 分钟前
python+request实现接口-小结
开发语言·python
ZJU_统一阿萨姆27 分钟前
【算子开发】扫描(Scan)与前缀和
开发语言·arm开发·架构·系统架构·硬件架构
-凌凌漆-29 分钟前
【C语言】结构体typedef struct与struct的区别
c语言·开发语言
for_ever_love__1 小时前
PySpark学习: 数据输出
开发语言·python·学习·spark
言乐61 小时前
Python实现自动拉人脚本示例
开发语言·windows·python·django·pygame
啊啊啊啊啊!!!!1 小时前
【c++】二叉搜索树
开发语言·c++
归去来 兮1 小时前
Python爬虫爬取数据案例
开发语言·爬虫·python
ShineWinsu2 小时前
对于 C++:C++20中Concept(概念) 与 Coroutine(协程)的解析
linux·开发语言·网络·c++·c++20·epoll
ly76892 小时前
C 语言从入门到进阶:语法、指针、内存管理与工程实践详解
c语言·开发语言
quantdash_cc2 小时前
历史数据断层与REST请求慢到崩溃?QuantDash高性能量化数据API终极解决方案
开发语言·python·缓存·php·量化·quantdash