在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
12
返回列表 发新帖
楼主: yjj_123

[求助] 求教怎么仿真sigmadelta调制器功率谱密度

[复制链接]
 楼主| 发表于 2021-8-22 22:29:43 | 显示全部楼层
顶一个
发表于 2021-8-23 10:28:04 | 显示全部楼层


yjj_123 发表于 2021-8-21 20:50
clc;
D=importdata('D:\Xilinx\project\sn_mash11_v1\DATA3.txt');%载入数据
M1=D-42.6;%average=222.5


loglog 试一下 plot那里
 楼主| 发表于 2021-8-23 11:24:27 | 显示全部楼层


geo24 发表于 2021-8-23 10:28
loglog 试一下 plot那里


代码虽然横坐标不是对数显示,但我在图片里编辑成了对数的,结果还是不对
 楼主| 发表于 2021-8-23 11:25:38 | 显示全部楼层
在这里蹲一个仿真过SDM功率谱密度的大佬,不知道为什么我仿真不出来论文里的图
发表于 2021-8-31 12:07:48 | 显示全部楼层
本帖最后由 BeiYangMan 于 2021-9-1 09:52 编辑

导入你的数据 x,在目录里定义两个函数文件dB10 和 hann

function [y]=dB10(x)
    y=10*log10(abs(x));

function w = hann(n)
w = 0.5*(1 - cos(2*pi*(0:n-1)/n) );

注 : 自定义的hann是行向量,matlab自带hann是列向量,且有两个参数,周期和对称,如果用matlab,选周期参数。

然后执行下面语句。
不加窗 有时在低频会出现泄漏。
figure()
N=4096
vv(1,=x(3000:3000+N-1)';%扔掉初始不稳定的点。
Sv_win=(abs(fft(vv.*hann(N)))/sqrt(3/8)).^2/N;%加窗功率修正
semilogx([0:N/2-1]/N,dB10(Sv_win(1:N/2)),'b'),hold on,grid on

Sv=(abs(fft(vv))/(1)).^2/N;
semilogx([0:N/2-1]/N,dB10(Sv(1:N/2)),'r:'),hold on,grid on

%[bz,az]=tfdata(ntf_veri,'v');
bz=[1 -2 1];az=[1 0 0];
[hntf,w]=freqz(bz,az,2048);
semilogx(w/2/pi,dB20(hntf)+dB10((1)^2/12),'k');

h=legend('mesh1-1 win psd','mesh11 psd','S_{quan noise} * |ntf|^2',4)
title('mesh1-1 one side psd of two-sided psd')


注意:加窗不加窗的区别,加窗后功率谱密度要做一个修正。
另外sdm功率谱密度,看two-sided 谱的一侧就可以了,需要的话就乘以2,积分后反应真实功率。
对于sdm pll中的sdm,只需要看two-sided 谱的一侧,因为这个东西调制到clk上就是一侧的能量比值。简单的说一个sine wave,调制到vco的电压上,会在clk两侧都出现spur,计算spur只看一侧能量,一般接收机也只看一侧的能量。
forum.jpg
A/2可以视作 Acos(wt)的复频谱的幅度 Acos() = A/2*exp(-)+A/2*exp(+),也就是复频谱幅度是实频谱的一半|F|=A/2。
因此对于sdmpll,看two-sided 频谱的一侧,不要乘以2。
图片.png
 楼主| 发表于 2021-9-1 10:09:53 | 显示全部楼层


BeiYangMan 发表于 2021-8-31 12:07
导入你的数据 x,在目录里定义两个函数文件dB10 和 hann

function [y]=dB10(x)


谢谢指导
发表于 2021-9-1 10:34:23 | 显示全部楼层


你应该很快就得到你要的功率谱密度
如果你觉得横轴还不对,就把横轴乘以2,归一化到pi上。
我是归一化到采样频率1上,所以横轴是0到0.5

 楼主| 发表于 2021-11-29 10:24:49 | 显示全部楼层


BeiYangMan 发表于 2021-9-1 10:34
你应该很快就得到你要的功率谱密度
如果你觉得横轴还不对,就把横轴乘以2,归一化到pi上。
我是归一化到 ...


你好,你这个代码我试过了,和我用的simulink里的spectrum analyser一模一样,看着也还可以,但是和大多数论文里仿真出来的还是会有差别的,主要是低频的时候到不了-200附近
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-16 04:11 , Processed in 0.024495 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表