欢迎来到沃文网! | 帮助中心 分享知识,传播智慧!
沃文网
全部分类
  • 教学课件>
  • 医学资料>
  • 技术资料>
  • 学术论文>
  • 资格考试>
  • 建筑施工>
  • 实用文档>
  • 其他资料>
  • ImageVerifierCode 换一换
    首页 沃文网 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    基于DSP用FFT变换进行频谱分析.doc

    • 资源ID:830630       资源大小:879.07KB        全文页数:23页
    • 资源格式: DOC        下载积分:20积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: QQ登录 微博登录
    二维码
    微信扫一扫登录
    下载资源需要20积分
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,下载更划算!
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于DSP用FFT变换进行频谱分析.doc

    1、基于DSP用FFT变换进行频谱分析摘要 随着计算机和微电子技术的飞速发展,基于数字信号处理的频谱分析已经应用到各个领域并且发挥着重要作用。信号处理方法是当前机械设备故障诊断中重要的技术基础之一,分析结果的精确程度是诊断成功与否的关键因素。研究频谱分析是当前主要的发展方向之一。数字信号处理基本上从两个方面来解决信号的处理问题:一个是时域方法,即数字滤波;另一个是频域方法,即频谱分析.本文主要介绍了离散傅里叶变换以及快速傅里叶变换,通过对DFT以及FFT算法进行研究,从基础深入研究和学习,掌握FFT算法的关键。通过对DSP芯片工作原理以及开发环境的学习,掌握CCS的简单调试和软件仿真,在DSP芯片

    2、上实现对信号的实时频谱分析。关键词: DFT;FFT;频谱分析;DSP;目 录1.绪论31.1.引言31.2.频谱分析的技术发展31.3.主要内容52.设计目的53.设计内容54.设计原理65.基于DSP用FFT变换进行频谱分析126.设计源程序197.设计感想228.参考文献231 1616点阵LED室内电子显示屏的设计 单片机原理及应用课程设计1 绪论1.1 引言随着数字技术与计算机技术的发展,数字信号处理(DSP)技术已深入到各个学科领域。近些年来,数字信号处理技术同数字计算器、大规模集成电路等,有了突飞猛进的发展。在数字信号处理中,离散傅里叶变换(DiscreteTime Fourie

    3、r Transform,DFT)是常用的变换方法,它在数字信号处理系统中扮演着重要角色。由离散傅里叶变换发现频率离散化,可以直接用来分析信号的频谱、计数滤波器的频率响应,以及实现信号通过线系统的卷积运算等,因而在信号的频谱分析方面有很大的作用。由于DFT的运算量太大,即使是采用计算机也很难对问题进行实时处理,所以经过很多学者的不懈努力,便出现了通用的快速傅里叶变换(FFT)。快速傅里叶变换(Fast Fourier Transform,FFT)并不是与离散傅里叶变换不同的另一种变换,而是为了减少DFT计算次数的一种快速有效的算法。对FFT算法及其实现方式的研究是很有意义的。目前,FFT己广泛应

    4、用在频谱分析、匹配滤波、数字通信、图像处理、语音识别、雷达处理、遥感遥测、地质勘探和无线保密通讯等众多领域。在不同应用场合,需要不同性能要求的FFT处理器。在很多应用领域都要求FFT处理器具有高速度、高精度、大容量和实时处理的性能。因此,如何更快速、更灵活地实现FFT变得越来越重要。数字信号处理器(DSP)是一种可编程的高性能处理器。它不仅是一种适用于数字信号处理,而且在图像处理、语音处理、通信等领域得到广泛的应用。DSP处理器中集成有高速的乘法硬件,能快速的进行大量的乘法加法运算1。1.2 频谱分析的技术发展频谱分析在生产实践和科学研究中获得日益广泛的应用。例如,对汽车、飞机、轮船、汽轮机等

    5、各类旋转机械、电机、机床等机器的主体或部件进行实际运行状态下的谱分析,可以提供设计数据和检验设计效果,或者寻找振源和诊断故障,保证设备的安全运行等;在声纳系统中,为了寻找海洋水面船只或潜艇,需要对噪声信号进行谱分析,以提供有用信息,判断舰艇运动速度、方向、位置、大小等。因此对谱分析方法的研究,受到普遍注意和重视,是当前信号处理技术中一个十分活跃的课题。1965年库利首次提出了快速傅里叶变换(FFT)算法,FFT和频谱分析很快发展成为机械设备故障诊断、振动分析、无线电通信、信息图象处理和自动控制等多种学科重要的理论基础。然而长期的应用和近年来的理论分析表明:经快速傅立叶变换得到的离散频谱,频率、

    6、幅值和相位均可能产生较大误差,单谐波加矩形窗时最大误差从理论上分析可达36.4%;即使加其他窗时,也不能完全消除此影响,在加汉宁(Hanning)窗时,只进行幅值恢复时的最大幅值误差仍高达15.3%,相位误差高达90度。因此,频谱分析的结果在许多领域只能定性而不能精确的定量分析和解决问题,大大限制了该技术的工程应用,特别是在机械振动和故障诊断中的应用受到极大限制。从70年代中期,有关学者开始致力于频谱校正理论的研究以期解决离散频谱误差较大的问题。1975年John CBurges等从事电学领域研究工作的学者采用插值法对加矩形窗的离散化频谱进行校正,解决了电学中的离散高次谐波参数的精确测量问题。

    7、1983年Thomas Grandke提出了加Hanning窗的内插法,进一步提高了离散高次谐波参数的分析精度。1993年,丁康和谢明提出了三点卷积法幅值校正法,提高了频率间隔较大的信号的离散频谱幅值精度,解决了工程实际中的一些问题。1994年,谢明、丁康等提出和发展了比例频谱校正方法,使内差法系统地发展成为一种通用的频谱校正方法,解决了频率间隔较大的离散化频谱幅值、相位和频率的精确求解问题,并开始对离散频谱的校正方法和误差分析进行了深入系统的分析和研究。1996年,余佳兵,史铁林等提出了采用复调制细化谱分析将已产生频谱干涉的密集频率成分分离开,消除干涉,再用比例法进行校正以解决密集频率成分的

    8、离散频谱的校正问题。1997年,谢明、丁康等分析了离散频谱中的负频率成分和多频谱成分的干涉现象,提出了离散频谱中用相位和幅值综合判定和识别单频率成分的方法,实现了单频率成分和频率间隔较大的多频率成分的自动识别和自动校正,并提出了在不采长样的基础上利用轴系旋转识别和校正两个己发生干涉的密集频率成分的自动判定和校正的方法。1998年刘渝提出了一段信号作N点和N/2点的校正方法,利用相位信息可以得到比较精确的频率。1999年,丁康、谢明等提出了对连续时域信号分前后两段作傅里叶变换,利用其对应离散谱线的相位差校正出谱峰处的准确频率和相位的校正方法一相位差校正法,该方法可在不知道窗谱函数表达式的情况下,

    9、直接用其相位差进行频率和相位校正。2001年,徐培民、杨积东、闻邦椿提出了自动识别和修正离散频谱中两临近谱峰参数的方法,不仅能识别间距不到一个频率分辨率的两个密集频率成分,而且能识别峰间距为1-6个频率的临近谱峰参数2。1.3 本论文主要研究的内容1. 本文主要介绍基于DSP用FFT变换实现对信号的频谱分析。研究离散傅里叶变换以及快速傅里叶变换的原理及算法。快速傅里叶变换和离散傅里叶变换的基本理论是一样的,它根据离散傅里叶变换的奇、偶、虚、实等特性,对离散傅里叶变换进行了改进。在计算机系统或者数字系统中广泛应用者快速傅里叶变换,这是一个巨大的进步。本文主要解决的问题就是如何对信号的频谱进行研究

    10、,使FFT更广泛的应用于科学研究。2 设计目的1. 加深对DFT算法原理和基本性质的理解;2. 熟悉FFT的算法原理和FFT子程序的算法流程和应用;3学习用FFT对连续信号和时域信号进行频谱分析的方法;4学习DSP中FFT的设计和编程思想;5学习使用CCS的波形观察器观察波形和频谱情况;3 设计内容用DSP汇编语言及C语言进行编程,实现FFT运算、对输入信号进行频谱分析。4 设计原理快速傅里叶变换FFT快速傅里叶变换(FFT)是一种高效实现离散傅里叶变换(DFT)的快速算法,是数字信号处理中最为重要的工具之一,它在声学,语音,电信和信号处理等领域有着广泛的应用。4.1-1 离散傅里叶变换的定义

    11、设x(n)是一个长度为M的有限长序列,则x(n)的N点离散傅立叶变换为:X(k)=DFTx(n)=,k=0,1,.,N-1。 (1)X(k)的离散傅里叶逆变换为:x(n) =IDFTX(k)= ,k=0,1,.,N-1 (2)式中,N称为DFT变换区间长度,NM。4.1-2 离散傅里叶变换的基本性质4.1.2.1线性性质如果和是两个有限长序列,长度分别为和,且 。式中,a、b为常数,取,则y(n)的N点DFT为: 0kN1 (3)其中,和分别为和的N点DFT。 4.1.2.2循环移位性质(1)序列的循环移位设x(n)为有限长序列,长度为M,MN,则x(n)的循环移位定义为 (4)(2)时域循环

    12、移位定理设x(n)是长度为M(MN)的有限长序列,y(n)为x(n)的循环移位,即 则 (5)其中 0kN1(3)频域循环移位定理如果 0kN1 则 (6)4.1.2.3 循环卷积定理有限长序列和的长度分别为和,Nmax,和的N点循环卷积为: =则x(n)的N点DFT为: (7)4.1.2.4 共轭对称性如果序列x(n)的DFT为X(k),则x(n)的实部和虚部(包括j)的DFT分别为X(k)的共轭对称分量和共轭反对称分量;而x(n)的共轭对称分量和反共轭对称分量的DFT分别为X(k)的实部和虚部乘以j3。4.2 快速傅里叶变换(FFT)4.2-1 FFT算法基本原理 快速傅里叶变换(FFT)

    13、是离散傅里叶变换的快速算法,它是根据离散傅里叶变换的奇、偶、虚、实等特性,对离散傅里叶变换的算法进行改进获得的,它对离散傅里叶变换并没有新的发现。有限长序列x(n)及其频域表示X(k)可由以下离散傅立叶变换得出 (8) (9)其中。式(8)称为离散傅立叶正变换,式(9)称为离散傅立叶逆变换,x(n)与X(k)构成了离散傅立叶变换对。根据上述公式,计算一个X(k),需要N次复数乘法和N-1次复数加法,而计算全部X(k)( ),共需要次复数乘法和N(N-1)次复数加法。实现一次复数乘法需要四次实数乘法和两次实数加法,一次复数加法需要两次实数加法,因此直接计算全部X(k)共需要4次实数乘法和2N(2

    14、N-1)次实数加法。当N较大时,对实时信号处理来说,对处理器计算速度有十分苛刻的要求,于是如何减少计算离散傅里叶变换运算量的问题变得至关重要。为减少运算量,提高运算速度,就必须改进算法。计算DFT过程中需要完成的运算的系数里,存在相当多的对称性。通过研究这种对称性,可以简化计算过程中的运算,从而减少计算DFT所需的时间。如前所述,N点的DFT的复乘次数等于。显然,把N点的DFT分解为几个较短的DFT,可是乘法的次数大大减少。另外,旋转因子具有明显的周期性和对称性,其周期为:其对称性表现为: 或FFT算法就是不断地把长序列的DFT分解成几个短序列的DFT,并利用的周期性和对称性来减少DFT的运算

    15、次数。具有以下固有特性:(1)的周期性:(2)的对称性: (3)的可约性:另外,。利用的上述特性,将x(n)或X(k)序列按一定规律分解成短序列进行运算,这样可以避免大量的重复运算,提高计算DFT的运算速度。算法形式有很多种,但基本上可以分为两大类,即按时间抽取(Decimation In Time,DIT)FFT算法和按频率抽取(Decimation In Frequency,DIF)FFT算法。4.2-2 基-2FFT算法 如果序列x(n)的长度,其中M是整数(如果不满足此条件,可以人为地增补零值点来达到),在时域上按奇偶抽取分解成短序列的DFT,使最小DFT运算单元为2点。通常将FFT运

    16、算中最小DFT运算单元称为基(radix),因而把这种算法称为基-2时间抽取FFT(DIT-FFT)算法4。将x(n)按n为奇偶分解成两个子序列,当n为偶数时,令n=2r;当n为奇数时,令n=2r+l;可得到 (10)则其DFT可写成 (11)和均分别是N/2点序列和的DFT,而且r与k的取值满足0,1,N/2-1。而X(k)是一个N点的DFT,因此式(11)只计算了X(k)的前N/2的值。由DFT和的性质可得到X(k)的后N/2的值为: (12)式(11)和式(12)表明,只要计算出两个N/2点的DFT 和,经过线性组合,即可求出全部N点的X(k)。由于,仍为偶数,因而这样的分解可以继续进行

    17、下去,直到最后的单元只需要做2点DFT为止。若Xm(p)和Xm(q)为输入数据,和为输出数据,为旋转因子,则对于基-2DIT-FFT算法,蝶形运算的基本公式为 其图形表示如图1所示,称Xm(P)为上结点,Xm(q)为下结点。图1 时间抽取蝶形运算单元对于一个8点的FFT,根据上述算法可以得到一个完整的N=8的基-2DIT-FFT的运算流图,如图2所示。图2 N=8 DIT-FFT运算流图根据上述算法原理及运算流图,可以得出基-2DIT-FFT的基本特点,特点如下。(1)级数分解:对于。共分了M级,每级包含N/2个蝶形运算单元,总共所需蝶形运算个数为。(2)运算量估计:每个蝶形运算需要一次复数乘

    18、法和两次复数加(减)法,N点FFT共需要次复数乘法,次复数加(减)法。实际上有些蝶形运算不需要做复乘。(3)原位运算:当数据输入到存储器以后,每一组蝶形运算后,结果仍然存放在这同一组存储器中的同一位置,不需要另辟存储单元,直到最后输出。(4)位码倒序:由图2可以看到,FFT输出的X(k)的次序正好是顺序排列的,即X(0),X(1),,X(7),而输入X(n)是按x(0),X(4),,X(7)的倒序存入存储单元,即为倒序输入,正序输出。这种顺序看起来相当杂乱,然而它是有规律的,即位码倒序规则。(5)旋转因子的确定:由8点FFT的三次迭代运算可以看出的变化。在第一级迭代中,只有一种类型的蝶形运算系

    19、数,即,参加蝶形运算的两个数据点间隔为l;在第二级迭代中,有两种类型的蝶形运算系数,分别是和,参加蝶形运算的两个数据点间隔为2;在第三级迭代中,有四种类型的蝶形运算系数,分别是,参加蝶形运算的两个数据点间隔4。可见,每次迭代的蝶形类型比前一迭代增加一倍,间隔也增大一倍。最后一次迭代的蝶形类型最多,参加蝶形运算的两个数据点的间隔也最大,为N/2。5.1基于DSP实现FFT变换频谱分析5.1.1DSP芯片和编程工具CCS 2.0的简介(1)TMS320C5402简介TMS320C5402是TI公司为了实现低功耗、高性能而专门设计的定点DSP芯片。它有如下的特点:具有运算速度快,指令周期可以达10n

    20、s以内;优化的CPU结构,内部有1个40位的算术逻辑单元,2个40位的累加器,2个40位加法器,1个1717的乘法器和40位的桶形移位器。有4条内部总线和2个地址产生器。先进的DSP结构可以高效快速实现数字信号处理中的各种算法的运算。它不仅具有标准的串行口和时分复用(TDM)串行口,还提供了自动缓冲串行DBSP和与外部处理器通信的HPI的主机接口。HPI可以与外部标准的微处理器直接接口。(2)CCS2.0简介DSP编程工具CCS是继“一体化的DSP解决方案后,TI公司为了巩固其在DSP业界的地位而在开发工具方面的一次重拳出击。CCS集成了开发环境,使得DSP代码开发过程从编程、编译到调试代码的

    21、性能测试都集成在一个环境下进行,而且各项功能都有了一定程度的提升,简化了开发过程,该工具主要集成了以下几个软件工具:(1)DSP代码产生工具(包括C编译器、汇编优化器、汇编器和连接器)。CCS不仅支持高级语言C编程、汇编语言编程,还支持高级语言C汇编语言混合模式编程,降低了代码开发难度;(2)软件模拟器(SIMULATOR)。模拟整个硬件的开发过程,使得系统的实现更加可靠;(3)实时基础软件。DSP/BIOS和主机目标机之间的实时数据交换软件RTDX,它们所提供的实时分析功能为目标系统提供了一个实时窗口,不仅可以直接实时显示原始数据,还可以对原始数据进行处理。在传统的主机调试器必须通过在应用程

    22、序中插入断点,中断应用程序运行才能与目标系统交换数据,这种方法不仅麻烦,而且所得到的数据只是应用程序在高速运行中的一个侧面,为故障诊断和系统性能评测等带来了许多不便。利用RTDX技术,就可以在不中断应用程序的前提下完成主机与目标机之间的实时数据交换,另外RTDX完成主机与目标机数据交换所使用的是DSP内部的仿真逻辑和JTAG接口,它不占用DSP系统的总线、串口等I/O资源,所以可以在应用程序背景下运行对DSP系统的影响很小7-8。5.1.2利用DSP中的FFT函数进行频谱分析(1)启动CCS,在CCS中建立一个C源文件和一个命令文件,并将这两个文件添加到工程,再编译并装载程序:阅读Dsp原理及

    23、应用中fft 用dsp实现的有关程序。双击,启动CCS的仿真平台的配着选项。选择C5502 Simulator。(3)启动ccs2后建立工程文件FFT.pjt(4)建立源文件FFT.c与链接文件FFT.cmd(5)将这两个文件加到FFT.pjt这个工程中。(6)创建out文件(7)加载out文件(8)加载数据(9)观察输入输出波形输入波形(时域) 输出图形(频域)6设计源程序6.1 Cmd源文件代码:-f 0-w-stack 500-sysstack 500-l rts55.libMEMORY DARAM: o=0x100, l=0x7f00 VECT:o=0x8000, l=0x100 DA

    24、RAM2:o=0x8100,l=0x7f00 SARAM: o=0x10000,l=0x30000 SDRAM:o=0x40000,l=0x3e0000 SECTIONS .text: DARAM .vectors: VECT .trcinit:DARAM .gblinit:DARAM .frt:DARAM .cinit:DARAM .pinit:DARAM .sysinit:DARAM2 .far:DARAM2 .const:DARAM2 .switch:DARAM2 .sysmem:DARAM2 .cio:DARAM2 .MEM$obj:DARAM2 .sysheap:DARAM2 .sy

    25、sstack:DARAM2 .stack:DARAM2 .input:DARAM2 .fftcode:DARAM2 6.2 C文件源码:#include math.h#define sample_1 256#define signal_1_f 60#define signal_2_f 200#define signal_sample_f 512#define pi 3.1415926int inputsample_1;float fwaversample_1,fwaveisample_1,wsample_1;float sin_tabsample_1;float cos_tabsample_1

    26、;void init_fft_tab();void input_data();void fft(float datarsample_1,float dataisample_1);void main() int i; init_fft_tab(); input_data(); for (i=0;isample_1;i+) fwaveri=inputi; fwaveii=0.0f; wi=0.0f;fft(fwaver,fwavei);while(1); void init_fft_tab() float wt1; float wt2; int i; for (i=0;isample_1;i+)

    27、wt1=2*pi*i*signal_1_f; wt1=wt1/signal_sample_f; wt2=2*pi*i*signal_2_f; wt2=wt2/signal_sample_f; inputi=(cos(wt1)+cos(wt2)/2*32768; void input_data() int i;for(i=0;isample_1;i+) sin_tabi=sin(2*pi*i/sample_1); cos_tabi=cos(2*pi*i/sample_1); void fft(float datarsample_1,float dataisample_1) int x0,x1,x

    28、2,x3,x4,x5,x6,x7,xx; int i,j,k,b,p,L; float TR,TI,temp; for(i=0;isample_1;i+) x0=x1=x2=x3=x4=x5=x6=0; x0=i&0x01;x1=(i/2)&0x01;x2=(i/4)&0x01;x3=(i/8)&0x01; x4=(i/16)&0x01;x5=(i/32)&0x01;x6=(i/64)&0x01;x7=(i/128)&0x01; xx=x0*128+x1*64+x2*32+x3*16+x4*8+x5*4+x6*2+x7; dataixx=datari; for(i=0;isample_1;i+

    29、) datari=dataii;dataii=0; for(L=1;L0) b=b*2;i-; for(j=0;j0) p=p*2;i-; p=p*j; for(k=j;k256;k=k+2*b) TR=datark;TI=dataik;temp=datark+b; datark=datark+datark+b*cos_tabp+dataik+b*sin_tabp; dataik=dataik-datark+b*sin_tabp+dataik+b*cos_tabp; datark+b=TR-datark+b*cos_tabp-dataik+b*sin_tabp; dataik+b=TI+tem

    30、p*sin_tabp-dataik+b*cos_tabp; for(i=0;isample_1/2;i+)wi=sqrt(datari*datari+dataii*dataii);7设计感想自从快速傅里叶变换(FFT)出现以后,频谱分析技术便很快的发展起来,而且越来越贴近我们的生活生产,如医疗器械,无线电通信等等。但是我们对频谱分析技术的研究并未达到最高的层次,未来发展具有很广阔的空间。通过这次DSP课程设计,加深对DFT算法原理和基本性质的理解,熟悉了FFT的算法原理和FFT子程序的算法流程和应用,掌握了DSP中FFT的设计和编程思想,以及用FFT对连续信号和时域信号进行频谱分析的方法,和使

    31、用CCS的波形观察器观察波形和频谱情况。这次课程设计,使我增长了知识,同时也增强了我动手解决问题的能力,锻炼我做事细心、用心、耐心的能力。同时也让我意识到平时的课程文化的学习固然非常重要,但是在与实际相联系的过程中还是有许多问题的,所以在以后的学习生活中,我要努力学习,培养自己独立思考的能力,要加强理论文化与实际操作的联系。积极参加各种设计活动,培养自己的综合能力,使自己得到全面的提高。8参考文献1方勇.数字信号处理原理与实践M.北京:清华大学出版社.2006.2丁康,张晓飞.频谱校正理论的发展J.振动工程学报2000,13(1):14-22. 3高西全,丁玉美. 数字信号处理M.西安:西安电子科技大学出版社. 2008:75-86.4孙仲康快速傅里叶变换及其应用M. 北京:人民邮电出版社1982. 5赵桂芳等基于DSP的快速傅立叶变换的实现J黄石理工学院学报2007,23(5):27-30.6乔瑞萍,崔涛,张芳娟.TMS32054xDSP原理及应用M.西安:西安电子科技大学出版社.2005:183-189.7杨宇,叶宇风,王洪.基于DSP的实时信号频谱分析模块设计J.电子测量技术.2006年4月第二期:124-128.8百度文库 关于FFT的DSP实现. .22


    注意事项

    本文(基于DSP用FFT变换进行频谱分析.doc)为本站会员(精***)主动上传,沃文网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知沃文网(点击联系客服),我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服点击这里,给沃文网发消息,QQ:2622162128 - 联系我们

    版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

    Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1

    陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922