PSRSALSA 教程[通俗易懂]

PSRSALSA 教程[通俗易懂]psrsalsa的安装与使用

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

PSRSALSA 教程

PSRSALSA 包

下载

 git clone https://github.com/weltevrede/psrsalsa.git  psrsalsa

安装

需要先安装依赖

gcc pgplot cfitsio fftw3 gsl

MacOS

 brew install cpgplot
 brew install cfitsio
 brew install fftw3
 brew install gsl
./configure

linux && ubuntu

 apt-get install cpgplot
 apt-get install cfitsio
 apt-get install fftw3
 apt-get install gsl
./configure

根据自己的安装目录将依赖包的lib和include文件加入Makefile文件中

修改Makefile

INCDIRS = -Isrc/lib/ -Isrc/slalib/ -I/opt/homebrew/Cellar/fftw/3.3.10/include -I/opt/homebrew/Cellar/gsl/2.7.1/include -I/opt/homebrew/Cellar/cfitsio/4.1.0/include
#Define directories where libraries can be found.
LIBDIRS = -Lsrc/lib/ -Lsrc/slalib -L/opt/homebrew/Cellar/fftw/3.3.10/include/lib -L/opt/homebrew/Cellar/gsl/2.7.1/lib -L/opt/homebrew/Cellar/cfitsio/4.1.0/lib

make 
make clean

注意:需要将pgplot的动态库(linux中是libpgplot.so;mac系统是libcpgplot.dylib)软连接到psrsalsa的bin目录,并将psrsalsa的bin目录添加至环境,例如:

export PATH=$PATH:/xxx/psrsalsa/bin

安装完毕


PSRSALSA中的子程序

以下子命令是PSRSALSA中所包含的,文中包含了一些例子。

章节2

数据分析中的首要命令

pmod
-ext 设置后缀名
-zap 消除指定脉冲索引之间的脉冲
-fzap 消除指定频率通道之间的信号
-remove 删除zap后的脉冲,而非将之归零
-header 更改表头参数,比如:-header 'name J0123+4567'
-debase 从观测中减去基线
-onpulse "left right"选择on-pulse区域(in bins)
-onpulsef "left right" 选择on-pulse区域 (in phase)
-device dev   (or -dev) Specify PGPLOT plotting device dev

例如:

pmod -ext clean.zero -zap "105 106" -fzap "0 0" -fzap "2 2" -fzap "6 6" -fzap "8 8" -fzap "14 14" tutorial1.data
pmod -ext clean.removed -zap "105 106" -fzap "0 0" -fzap "2 2" -fzap "6 6" -fzap "8 8" -fzap "14 14" -remove tutorial1.data
pmod -debase -onpulse "121 178" -debase -device /null tutorial1.clean.removed

查看表头参数 header

查看主要的表头及其参数:

pheader tutorial1.data

查看数据的某些制定的参数:

pheader -c "nbin nsub nfreq npol" tutorial1.data

数据绘图(pplot)

绘制数据的灰度图

pplot tutorial1.data

绘制数据频域灰度图:

pplot -TSCR tutorial1.data

绘制数据时域灰度图:

pplot -FSCR tutorial1.data

绘制数据积分脉冲轮廓:

pplot -FSCR -TSCR tutorial1.data

注意,噪声电平不是零。这意味着存在一个“基线”,它需要在任何分析之前被删除。在第2.5节中,我们将讨论如何去除它。目前,这种效果可以通过运行来抑制

pplot -debase -FSCR -TSCR tutorial1.data

这将分别减去每个channel/subint的平均值。基线的影响应该基本上消失。请注意,噪声水平已经变得稍微为负,这是因为噪声加上脉冲星信号的平均值已经从数据中移除。为了更详细地研究数据,你可能需要在交互模式下运行pplot:

pplot -ia -v tutorial1.data

选项-v表示“verbose”(详细),意味着更多的信息被发送到终端。一般来说,这是一个好主意,因为它让您更好地了解软件所执行的步骤,因此,如果(以及为什么)出现问题,它允许您这样做。首先,它将向您显示头部信息,让您在评估数据时正确解释。启动这个命令后,终端会要求您按下键来更改所绘制的内容。输入?(在终端中)获取命令列表。例如,你可以在终端上输入:

l l l 是选择X轴的范围

v 是选择Y轴的范围

l 100 110

l 1 300 301

v 9 13

这显示了部分垂直范围(没有太多RFI)脉冲应该出现在subint的中间。你可以通过b和y来改变x轴和y轴的单位。使用M选项可以指定绘图的类型。举个例子,M后面加l会得到一个直线图。如果你这样做,你可以看到水平平线,在这种情况下是由于不同的渠道由一个单位在纵轴上(如果y轴是在本nr模式而不是MHz),而信号的幅度远远小于1单位,使曲线似乎是平的。你能做的就是按下a键,它会自动缩放数据,并允许你以非平行线的形式显示数据。另一个选项是p选项。如果你按p键,它会循环回到以前的设置。您可以按p多次回到以前的图。如果你仔细观察,你会发现偏振通道(从0开始计数)1和2 (Stokes Q和U)显示了法拉第旋转的证据。按“q”退出。

在交互模式中有更多的选项可以使用,还有更多的命令行选项可以更改绘图的布局(输入不带命令行参数的pplot以获得选项列表)。例如,您可以尝试以下命令

pplot -showwedge -showtop tutorial1.data

顶部的图清楚地显示了前面确定的两个子单元中的RFI。

手动删除数据中的RFI

要识别RFI,您可能需要在交互模式下使用pplot显示频率与subint的图表。如果文件非常大,首先考虑制作一个时间分辨率较低的文件,这仍然足以识别你想要删除的频率。如果您的数据包含以相干参数而不是Stokes参数写出来的偏振通道,您可能需要使用-stokes选项。“-debase”选项会移除基线,即我们在2.3节所注意到的非零噪音级。如果在观测过程中背景噪声水平变化很大,这一点特别有用。因为我们没有定义一个onpulse区域(即脉冲发射发生的脉冲经度范围),-debase选项将使噪声+脉冲星信号的平均值为零,使基线为负。这在这里并不重要,因为我们只想去掉最大的变化(特别是那些由强RFI引起的变化),否则可能很难看到数据。请参阅第2.5节如何正确地删除基线,尽管这对于我们要实现的目标并不重要。为了提高假数据集的质量,我们开始运行:

pplot -v -debase -ia tutorial1.data

策略是首先识别出严重受影响的子元素,然后再识别将在整个数据集中被清除的坏频率通道。一般来说,这是一种迭代过程,以确定哪种被破坏的子帧/通道组合会产生最优结果。一些可能有用的命令:

  • z – Toggle between interactive channel/subint zapping 消除模式下 横向/竖向的转换
  • Z – Start zapping, see terminal for help about how this is done. 进入消除模式
  • v – ’v’ is followed by two numbers, this allows you to zoom in the vertical range. To zoom out, you can use the range 0 to a very large number. 选择Y轴显示范围
  • n – Go to next block in the vertical range. This allows you to step through the data. 以梯阶前往下一个Y轴范围
  • W – Write out a zap file containing the zapped channel numbers/subints (counting from zero) 保存文件
  • l 0 1 -Zoominonfirstsubint 选择首要横轴区间
  • ,/. – Move to left, right when zoomed in 左键之后右键消除
  • q -quit 退出

让我们从删除之前识别的干扰成开始。首先,放大,以清楚地看到哪些subints是影响。

1 103 109

现在确保你在subint zapping模式下按’ z ‘键适当的次数在终端和通过观看什么是报告在终端。终端会告诉你是处于subint模式还是频率频道zap模式。现在按“Z”删除一些subints,并尝试删除一个范围。注意,只有在您通过在plot窗口中按下另一个键而退出’ Z ‘选项后,才会看到结果。请注意,当您选择一个范围时,’ Z ‘选项也是quit。“Z”选项不会从输入数据文件中删除任何数据。它只是从图中删除数据。当你完成后,写出一个带有“W”选项的子条目列表,我们可以使用它来将这些zapping选项应用到数据上。这应该创建了一个名为tutorial1.subint.zap的文件。

一般来说,如果它们受到RFI的严重影响,您可能会从删除一些子帧开始,这样我们就会得到一个更清晰的数据集,在这个数据集中,受影响的频率通道可以更容易识别。因此,让我们对数据应用subints的选择。这可以使用以下命令完成:

pmod -ext zap1 -zapfile tutorial1.subint.zap tutorial1.data

这将生成一个新文件,将选中的子帧设置为零强度(称为tutorial1.zap1)。注意,数据集中的子单元数因此没有改变。您可能希望通过使用pplot来查看结果。写出来的第二个文件是tutorial1.zapped.gg,里面包含了所有被消除的成分。

根据想要实现的目标,从数据集中删除subints可能是可取的(减少文件中的subints数量)。这是通过在pmod中添加-remove标志来实现的。

pmod -ext zap2 -zapfile tutorial1.subint.zap -remove tutorial1.data

新tutorial1.zap2不应该有任何零权重的subints,因此它的subints比原始数据集要少。
在删除了受影响最严重的子积分之后,您想要重复这个过程,但现在确定了您想要删除的频率通道。使用刚刚创建的文件,在交互式模式下使用pplot创建一个绘图,但是现在要添加-TSCR选项,首先将所有子集成添加到一起。这将使您看到比没有-TSCR选项时更弱的RFI。因为我们将两个子元素加在一起,所以如果我们使用教程也不会有什么不同。tutorial.zap1 或者 tutorial.zap2 文件

pplot -v -debase -TSCR -ia tutorial1.zap1

确保你在矢量zap模式,zap 5个坏通道,并写出“矢量”列表与“W”选项。这应该创建了一个名为tutorial1.freq.zap的文件。在命令行上,您可以通过输入cat来检查它的内容

cat tutorial1.freq.zap

它应该包含数字0、2、6、8和14。类似于之前使用的pmod命令行可以用来从数据中删除这些通道,但是使用-fzapfile而不是-zapfile来消除频率通道。我们对之前生成的两个文件应用相同的zapping(通过对频率通道进行零加权):一个删除了zapping的subints,另一个将subints设置为零。

注:tutorial1.freq.zap是对频率通道的干扰标记文件,用于消除频率通道中的干扰,tutorial1.subint.zap 是 对时域干扰中的标记文件,用于消除时域中的干扰

pmod -fzapfile tutorial1.freq.zap -ext clean.zero tutorial1.zap1
pmod -fzapfile tutorial1.freq.zap -ext clean.removed tutorial1.zap2

注意,在这两种情况下,被消除的频率通道的权重都为零。如果你将移除通道,频率标记将不再是正确的,因此像去分散之类的事情将会出错。您可以通过pplot确认生成的tutorial1.clean.gg确实已经删除了想要的频率通道。如果我们在所有的频率通道相加后画出信号的时域图

pplot -FSCR tutorial1.clean.zero

要看到的主要效应是从下到上线性增加的信号。这是背景(“基线”)的斜率,在整个观察过程中缓慢增加。在下述章节中,将讨论如何去除它。因为存在一个正基线,所以两个被设置为0的subints具有较低的强度,它们显示为黑线。目前,基线的这种效果可以通过运行以下命令来抑制

pplot -debase -FSCR tutorial1.clean.zero

变化的基线的影响应该被移除,脉冲星信号应该非常清晰。你应该能看到脉冲星漂移的次脉冲,你应该能看到脉冲星被关闭的两段时间(“空”)。注意,空值期间的杂音看起来有所不同。这是因为在零信号期间,噪声水平平均为零,但当有脉冲星信号时,噪声水平为负,因为噪声加信号的平均值被迫为零。

如上所述,可能会多次进行这个过程,首先确定最强的RFI,在清除之后,它还允许看到希望删除的较弱的RFI。记住,移除RFI也意味着移除信号。因此,删除所有包含RFI的数据可能不会产生最佳的S/N。根据您的数据质量和您想要实现的目标,可能会合并/跳过一些步骤,特别是对于较小的数据集。

去除基线 (pmod)

利用以上得到的tutorial1.clean.zero和tutorial1.clean.remove进行以下的操作。一般来说,在你的数据中有一个基线你必须删除,即设置平均噪音水平为零。如果什么都不做就绘制数据,噪声很可能不是零。您可以通过运行pplot来生成一个脉冲配置文件来检查这一点

pplot -FSCR -TSCR tutorial1.clean.removed

选择了两个预处理选项,在本例中,它们将所有频率通道和所有时间加在一起。预处理意味着这些选项是在读取数据之后,但在程序访问数据之前直接应用的。在不同的程序中,通过相同的命令行选项可以使用许多预处理选项。正如你所看到的,噪声平均不是零(在这种情况下噪声等级是正的),在基线上也有一个非常小的斜率。原因是在这个人工数据集上增加了线性增加的斜率。这一点在运行以下命令的时候更明显:

pplot -FSCR tutorial1.clean.removed

现在只对频率通道求和,图中显示了后续的子积分。在人工数据中会产生“漂移子脉冲”,并且有一个随时间增加的基线。要删除基线,可以使用pmod

pmod -debase tutorial1.clean.removed

该程序要求指定一个pgplot设备,因此可以使用/xs。该程序要求你识别onpulse区域,以便估计噪声水平。因此,所有未被选中的bins都被用来确定基线。因此,至关重要的是,所有没有被选中的bins,都不包含任何信号。因此,选择的区域最好是太宽而不是太窄。在这个特定的情况下,可以选择一个从bin ~ 120到bin ~ 180的区域。如果需要,可以同时选择多个区域:基线计算只使用未选择的区域。在pgplot窗口内按下S后,基线被减去。图中显示了作为子积分数函数的基线值(噪声的平均值)。图仅为第一频率信道和第一极化信道,但实际基线值分别为每个频率和极化信道确定。生成的图确实表明,随着时间的推移,基线呈线性增长。

基线可以确定的精度取决于基线变化的时间尺度和非脉冲bins数目,假定非脉冲区域的平均值由白噪声的均方根乘以非脉冲bins的平方根决定。对于某些脉冲星,如果占空比很大,则可能只有很小的非脉冲bins。在这种情况下,您可能希望试验-debase length选项,它允许您使用使用多个子集成计算的“运行平均值”,而不是在单个子int基础上确定平均值。请参阅帮助(只需在终端上键入pmod)以获得更多可用的选项。

在这个特定的例子中,默认流程就足够满足我们这里的目的了。您可以通过绘制从输出生成的概要文件来检查结果。

pplot -TSCR -FSCR tutorial1.clean.debase.gg

噪音的平均值确实是零。仍然存在一个轻微的斜率,因为我们只是减去了每个子积分的基线平均值。通过制作单个子积分的图,你可以看到大部分基线不再存在,而漂移的子脉冲更加明显。

pplot -FSCR tutorial1.clean.debase.gg

在“nulls”时出现的奇怪的噪音也被解决了。原则上,这个过程应该在两个版本的清理数据集(removed/zero-weighted subints),因为不同类型的分析更倾向于其中一种。在其他章节中,我们将只使用tutorial1.clean.debase.gg。

脉冲能量分布和null分析

子脉冲漂移研究

这时应该拥有一个清理过的数据集,即具有坏RFI的频率通道已经被删除。如果有想要删除的子积分(大概是单个脉冲),有两个选项:要么完全删除它们(pmod -remove),要么将它们设置为零。哪个是最好的取决于你研究的子脉冲调制的哪个方面。对于波动谱,您可能希望将子积分设置为零。这确保了周期性(例如P3)的扭曲程度更小。然而,额外的调制功率将引入,因为通过设置脉冲为零,强度波动是人为引入的。脉冲数设为0时,任何周期性都会在波动谱中结束。另一方面,调制指数的计算与数据中的周期性无关。事实上,脉冲的顺序是无关紧要的。这意味着去除受影响的子积分将会更好,因为这确保了调制指数不会因引入调制功率而人为增加。

本章中的以下命令假设您有tutoral1.clean. base.gg,就像在消除干扰章节中做的那样。在进行任何分析之前,基线应该被删除。如果你不知道这是什么意思在这个数据中,去掉了两个脉冲。由于它们发生在空时,这一过程并不影响次脉冲漂移的周期性。因此,对于本章讨论的所有过程,可以使用删除子集成的数据。

可能想要考虑Stokes I,先把所有频率通道相加,最后得到脉冲叠加。这是我们首先可以做的,这将缩短下面使用的命令。

pmod -stokes -polselect 0 -FSCR -output tutorial1.pulsestack tutorial1.clean.debase.gg

没有必要包含-stokes,因为数据已经写入Stokes参数中。上面的命令应该已经写出了tutorial1.pulsestack文件。这个数据集有非常明显的漂移次脉冲,运行以下命令查看

pplot tutorial1.pulsestack

你可能想放大在垂直范围(使用v键)和脉冲经度范围(l选项)。

调制指数

可以通过以下命令计算和显示调制指数

pspec -mod -prof tutorial1.pulsestack

它要求一个onpulse区域,在这种情况下,它只用于识别噪声,所以在保存端使它比脉冲稍微宽一些。选项-prof计算平均轮廓。如果没有这个选项,结果将无法绘制。选择完成后,显示了轮廓线和调制指数。
正如在命令行上的帮助中所指出的,分析误差栏通常不是很准确。相反,您可以使用一个称为bootstrapping的过程来获得更可靠的误差棒,这样您就可以运行以下命令来确定100次迭代的误差棒。正如帮助中解释的那样,所得到的误差棒是可靠的,但有点保守。

pspec -mod -prof -bootstrap 100 tutorial1.pulsestack

画图

上面的结果可以结合在一个漂亮的图。为了做到这一点,结果应该首先写入文件,所以可以这样做:

 pspec -lrfs -2dfs -mod -prof -bootstrap 100 -w  -nfft 256 -onpulse "131 170" -onpulse "118 187" tutorial1.pulsestack

这些是所有以前使用的选项加上-w选项,它允许你写出结果。这里,我们还将默认的FFT-size更改为256。由于输入数据集只有1022个脉冲,这意味着将分析前768个脉冲,而不是前512个脉冲。减小fft尺寸将导致较低的P3分辨率。

  • tutorial1.profile 文件 为包含轮廓+标准偏差+调制指数的ASCII文件。列为:(1)bin编号(2)profile强度(3)std. dev. (4) std. dev上的sigma误差(5)调制指数(6)调制指数上的误差。
  • tutorial1.lrfs— 可以进行绘图的lrfs,例如pplot。
  • tutorial1.1.2dfs -基于第一次选择的2dfs。
  • tutorial1.2.2dfs -基于第二次选择的2dfs。

这些结果可以结合在一个单独的图形使用pspecFig。要使用默认选项创建图形,您可以运行:

pspecFig tutorial1.pulsestack

您可能想要将结果输出到postscript文件,图片保存,或者输入适当的设备名,或者运行类似的程序

pspecFig -device "tutorial1.ps/ps" tutorial1.pulsestack

默认情况下,只显示前2dfs。还要注意,2dfs被翻转了,因为2dfs中的特性现在出现在图的右边。因此,pspecFig图中默认的P2值为正,意味着正向漂移,也就是向后面的阶段漂移。
有多种选择可以让情节看起来更漂亮。运行没有命令行选项的pspecFig,看看有哪些选项可用。例如,你可以试试:

pspecFig -device "tutorial1.ps/ps" -l "100 260" -scalel 10 -scale2 30 -nostddev -title "pspecFig test" -xlabel3 -ylabel3 -ytop  -scalefig "2 1.5 " tutorial1.pulsestack

波动谱特征的分析

得到的波动谱可以与pspecDetect程序交互探索。这个程序是为了分析2dfs中的特征,得到质心P2和P3的值以及相应的误差条。启动程序运行

pspecDetect -v tutorial1.pulsestack

它假设lrfs和2dfs是使用默认扩展写出来的。在pgplot窗口中按’ h ‘以获得支持的键按列表。

第一个图显示的是2dfs。通过按下空格键,您可以在不同的图中循环。下一个图显示的是lrfs,与脉冲轮廓叠加,以便更容易地识别轮廓的哪一部分对应什么调制功率。下一个图再次显示了2dfs,您可以通过点击鼠标和制作方框来消除power。功率的剩余部分被认为是与白噪声相关的功率,所以去掉任何看起来像信号的东西。在终端报告sigma值,在去除所有信号后应该是 2.8 × 1 0 − 7 2.8×10^{−7} 2.8×107。再按一次空格键后,你就会看到第一个情节。

在显示2dfs的图(第一个图)中,您可以通过使用鼠标定义框来放大特性。“f”只会重置选取范围,而“r”也会重置较早的标记点来识别噪音。默认情况下,放大总是选择一个对称的P2范围,以避免在质心P2值中产生任何偏差。通过放大低频功率并按下返回键,你应该能够发现质心值(由十字表示)对应类似P3 = 140个周期和P2 =−44个cpp的值。

在这种情况下,很明显检测到了漂移的次脉冲,而报告的质心值由于以原点为中心的功率而严重偏置,这与置零有关。通过按’ c ‘中心的P2范围可以关闭,允许你放大漂移功能本身,而不考虑电源接近原点。这应该可以让你确定P2在现实中更像−14.5 cpp。注意,报告的错误条很小。然而,质心值误差的主要来源是光谱中的哪个区域包含在质心计算中,因为这在某种程度上是一个任意的决定。因此,使用几个不同的选定范围来查看所得到的质心值的分布是有意义的。

分析子脉冲相位作为脉冲经度的函数,可以让你对数据中漂移带的平均形状有一些感觉。特别地,它显示了例如是否有曲率,或者漂移带是否是直的。

该方法是基于计算LRFS的相同类型的分析。脉冲堆栈被分成相同大小的块(在脉冲数中),其长度由fft的选择长度给出。FFT是在数据列中计算的,即对于给定的脉冲经度,FFT是在后续脉冲的记录强度上完成的。FFT的结果是复傅里叶分量。振幅与调制强度有关,而相位告诉你与数据相匹配的给定频率正弦信号所需的延迟。对于线性漂移带,这一相位(次脉冲相位)应随脉冲经度线性变化。附注:亚脉冲相位实际上是FFT得到的相位的负值。这种选择在PSRSalsa中是为了确保子脉冲相位的正梯度作为脉冲经度的函数对应于正漂移。

为了进行分析,首先需要确定LRFS感兴趣的P3光谱。在上一节中,我们发现P3 = 140个周期,对应0.0071 cpp。为了计算相位轨迹,你可以这样做

 pspec -v -freq "0.0070 0.0072" -track tutorial1.pulsestack

这将失败,因为在指定的范围内没有完整的频率库。因此,频率范围应指定为足够宽。下面的方法就可以了

pspec -v -freq "0.005 0.009" -track tutorial1.pulsestack

注意,会产生一个警告,说明频率范围现在太宽,以至于使用了两个光谱箱。尽管该软件会尝试做一些合理的事情,但强烈建议只分析一个光谱箱。因此,如果要使用这个频率范围,最好使用更短的FFT长度,从而产生更宽的光谱通道,以确保单个频率仓在所选的频率范围内。在让你的光谱通道足够宽以便在被分析的通道中有足够多的信号存在,而又不让它太宽而超出了你感兴趣的信号范围之间,你需要找到一个平衡。

待续…

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/159339.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • tomcat闪退问题整理

    tomcat闪退问题整理tomcat闪退一般有以下几个原因:1、JDK环境变量配置错误;2、JDK版本与tomcat版本不匹配(一般jdk1.6,tomcat8.**这样可能会出现类似问题)3、tomcat内存配置有误(Catalina文件内存配置有误)4、端口被占用解决方案:1、JDK环境变量配置错误;排查:1)检查环境变量:cmd启动命令行窗口→通过cd命令到tomcat的bin目录下→运…

  • 华为手机像素密度排行_「屏幕像素密度」(全解析)屏幕尺寸,分辨率,像素,PPI之间到底什么关系? – seo实验室…[通俗易懂]

    华为手机像素密度排行_「屏幕像素密度」(全解析)屏幕尺寸,分辨率,像素,PPI之间到底什么关系? – seo实验室…[通俗易懂]屏幕像素密度今天我给大家来讲讲这几个咱们经常打交道的词到底啥意思,以及他们之间到底有什么关系。这篇文章是我花了一个下午从N多篇文章里提炼出的一个白话版,保证让你看得懂。咱们从手机开始说起吧。先上一张图,给大家看看关于手机屏幕方面的一些参数。红框内的三个参数,大家一定都不陌生,我也不陌生。不过讲真的,就在不久前,我连手机的屏幕尺寸到底是怎么算出来的都不知道。下面我们开始慢慢讲。屏幕(主屏)尺寸是什么…

  • 带通 带阻滤波器 幅频响应_二阶有源带通滤波器设计

    带通 带阻滤波器 幅频响应_二阶有源带通滤波器设计二阶有源带通滤波器设计1、背景对于微弱的信号的处理方式一般是:放大和滤波,这个过程中就涉及到放大电路的选取、滤波器的选择以及偏置电路的设计。本例以实例的方式讲解并附带参数计算、仿真、实物测试三个环节。 假设需要处理一个20mV的正弦信号,该信号的频率范围是15~35Hz,经过处理后幅值不超过3.3V,且需要经过带通滤波器滤除杂波。2、滤波器定义滤波电路又称为滤波器,是一种选频电路,能够使特定频率范…

  • pycharmlinux安装教程_怎么安装pycharm及环境变量配置

    pycharmlinux安装教程_怎么安装pycharm及环境变量配置1.在官网下载pycharm安装包1.1进入官网:DownloadPyCharm:PythonIDEforProfessionalDevelopersbyJetBrains,选择Professional专业版,直接下载;【自己可以选择pycharm的不同版本】1.2进入跳转页面后,出现提示框,点savefile;1.3下载完成后,打开安装包下载的位置;2.安装pycharm2.1解压文件2.打开终端,进入pych…

  • Python之属性、特性和修饰符

    1.property和@property还是直接上代码来的方便property()用法@property用法2.__getattribute__()、__getattr__()、__set

    2021年12月19日
  • 用python打包exe应用程序-PyInstaller

    1、PyInstaller简介PyInstaller是一个跨平台的Python应用打包工具,支持Windows/Linux/MacOS三大主流平台,能够把Python脚本及其所在的…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号