2023年3月22日 星期三

Identify floating point type of a Linux executable.

Ref: https://stackoverflow.com/questions/20555594/how-can-i-know-if-an-arm-library-is-using-hardfp

Execute readelf -A library.so: if the list of printed tags contains Tag_ABI_VFP_args: VFP registers, then it is a hardfp binary, otherwise assume softfp.

E.g. readelf -A /lib/arm-linux-gnueabihf/libm.so.6 will produce

Attribute Section: aeabi
File Attributes
  Tag_CPU_name: "7-A"
  Tag_CPU_arch: v7
  Tag_CPU_arch_profile: Application
  Tag_ARM_ISA_use: Yes
  Tag_THUMB_ISA_use: Thumb-2
  Tag_FP_arch: VFPv3-D16
  Tag_ABI_PCS_wchar_t: 4
  Tag_ABI_FP_denormal: Needed
  Tag_ABI_FP_exceptions: Needed
  Tag_ABI_FP_number_model: IEEE 754
  Tag_ABI_align_needed: 8-byte
  Tag_ABI_align_preserved: 8-byte, except leaf SP
  Tag_ABI_enum_size: int
  Tag_ABI_HardFP_use: SP and DP
  Tag_ABI_VFP_args: VFP registers
  Tag_ABI_optimization_goals: Aggressive Speed
  Tag_CPU_unaligned_access: v6

On the other side, readelf -A /lib/arm-linux-gnueabi/libm.so.6 produces

Attribute Section: aeabi
File Attributes
  Tag_CPU_name: "7-A"
  Tag_CPU_arch: v7
  Tag_CPU_arch_profile: Application
  Tag_ARM_ISA_use: Yes
  Tag_THUMB_ISA_use: Thumb-2
  Tag_FP_arch: VFPv3-D16
  Tag_ABI_PCS_wchar_t: 4
  Tag_ABI_FP_denormal: Needed
  Tag_ABI_FP_exceptions: Needed
  Tag_ABI_FP_number_model: IEEE 754
  Tag_ABI_align_needed: 8-byte
  Tag_ABI_align_preserved: 8-byte, except leaf SP
  Tag_ABI_enum_size: int
  Tag_ABI_optimization_goals: Aggressive Speed
  Tag_CPU_unaligned_access: v6

Compare "echo cancellation and noise suppression (ECNS)" from "echo cancellation and noise reduction (ECNR)" by ChatGPT

Echo cancellation and noise suppression are similar to echo cancellation and noise reduction, but with a subtle difference in their goals. Echo cancellation and noise suppression algorithms are designed to remove both echoes and unwanted background noise from an audio signal. However, while noise reduction algorithms aim to reduce the noise level as much as possible, noise suppression algorithms aim to only reduce the noise level when speech or other relevant sounds are not present.

2023年3月9日 星期四

A-GPS control plane / user plane

https://en.wikipedia.org/wiki/Assisted_GNSS

 A-GPS protocols are part of Positioning Protocol defined by two different standardization bodies, 3GPP and Open Mobile Alliance (OMA).

Control Plane Protocol
Defined by the 3GPP for various generations of mobile phone systems. These protocols are defined for circuit switched networks. The following positioning protocols have been defined.
  • RRLP – 3GPP defined RRLP (Radio Resource Location Protocol) to support positioning protocol on GSM networks.
  • TIA 801 – CDMA2000 family defined this protocol for CDMA 2000 networks.
  • RRC position protocol – 3GPP defined this protocol as part of the RRC standard for UMTS network.
  • LPP – 3GPP defined LPP or LTE positioning protocol for LTE networks.
User Plane Protocol
Defined by the OMA to support positioning protocols in packet switched networks. Three generations of Secure User Plane Location (SUPL) protocol have been defined, from version 1.0 to 3.0.

SUPL[edit]

The SUPL (Secure User Plane Location) protocol, unlike its control-plane equivalents restricted to mobile networks, runs on the Internet's TCP/IP infrastructure. As a result, its application goes beyond the original intended use of mobile devices and may be used by general-purpose computers.[5] SUPL 3.0 legitimizes such use by adding allowance for WLAN and broadband connections.[6]

Actions defined by SUPL 3.0 include a wide range of services such as geofencing and billing. The A-GNSS functions are defined in the SUPL Positioning Functional Group. It includes:[6]

  • SUPL Assistance Delivery Function (SADF), which provides the basic information sent to the device in both A-GNSS modes.
  • SUPL Reference Retrieval Function (SRRF), which tells the server to prepare the information mentioned above by receiving from the satellites.
  • SUPL Position Calculation Function (SPCF), which lets the client or the server ask for the client's location. The server-generated location may result from MSA or from mobile cell. If a MSB (SET based) mode is used, the client reports its location to the server instead.

The specifics of communication is defined in the ULP (Userplane Location Protocol) substandard of SUPL suite. As of December 2018, GNSS systems supported include GPS, Galileo, GLONASS, and BeiDou.

2023年3月8日 星期三

"IMS/IPME (IMS IP Messaging) ITU recommendation A.76" by ChatGPT

 IMS/IPME (IMS IP Messaging) is a communication service defined by the International Telecommunication Union (ITU) recommendation A.76. It provides an end-to-end messaging service that allows users to exchange text, multimedia, and other content in real-time using IP-based networks.

The IMS/IPME service is designed to work within the context of the IP Multimedia Subsystem (IMS), which is a standardized architecture for multimedia services over IP networks. The IMS provides a framework for real-time multimedia communication between various devices, including smartphones, tablets, and computers.

IMS/IPME messaging service is based on the Session Initiation Protocol (SIP), which is a protocol used to set up and control multimedia communication sessions. SIP enables the establishment of multimedia sessions, including voice, video, and messaging, over IP networks. The IMS also includes a variety of other protocols, including the Diameter protocol for authentication and authorization and the Session Description Protocol (SDP) for describing multimedia sessions.

IMS/IPME messaging supports a range of multimedia content, including text, pictures, videos, and audio. It also supports group messaging, which allows users to communicate with multiple users simultaneously. IMS/IPME messaging service can be used to provide a range of messaging applications, including instant messaging, chat, and multimedia messaging.

IMS/IPME messaging has several advantages over traditional messaging services. It is designed to work over IP networks, which are becoming more widespread and offer faster and more reliable connectivity than traditional cellular networks. IMS/IPME also provides enhanced messaging features, including support for multimedia content, group messaging, and real-time delivery notifications.

In conclusion, IMS/IPME (IMS IP Messaging) is a standardized communication service that provides an end-to-end messaging service using IP-based networks. It is designed to work within the context of the IP Multimedia Subsystem (IMS) and supports a range of multimedia content and messaging applications. IMS/IPME messaging service is based on the Session Initiation Protocol (SIP) and provides enhanced messaging features, including support for multimedia content, group messaging, and real-time delivery notifications.

"RCS" and "ITU recommendation A.67" by ChatGPT

RCS stands for "Rich Communication Services," which is a communication protocol that enables enhanced messaging and communication services on mobile devices beyond traditional SMS and MMS. RCS allows for richer media types, such as high-resolution images, videos, and audio files, to be sent over cellular networks, along with features such as read receipts, typing indicators, and group messaging.

RCS also allows for the integration of additional services, such as payment and location-sharing, within the messaging application, making it a more versatile communication tool.

ITU recommendation A.67, on the other hand, is a technical specification document issued by the International Telecommunication Union (ITU) that outlines the technical requirements for implementing RCS on mobile networks. The document defines the necessary interfaces, protocols, and parameters that must be implemented in the mobile network to enable RCS services.

ITU recommendation A.67 also provides guidelines for implementing various RCS features, such as messaging, file transfer, and presence, and specifies how these features should be integrated with the existing network infrastructure. The document helps ensure that RCS services can be deployed effectively and efficiently across different mobile networks, making it easier for users to communicate and access additional services through their messaging app. 

"IPv6 - A66" by ChatGPT

 IPv6 (Internet Protocol version 6) is the latest version of the Internet Protocol, which provides the addressing and routing of data packets across the internet. It was developed as a successor to IPv4 (Internet Protocol version 4), which has been the dominant protocol used for over 30 years.

The primary motivation for the development of IPv6 was the exhaustion of IPv4 addresses, which were based on 32-bit numbers and were limited to approximately 4.3 billion unique addresses. IPv6, on the other hand, uses 128-bit addresses, which allow for an almost infinite number of unique addresses. This will enable the continued growth and expansion of the internet, as well as the deployment of new services and devices that require unique addresses.

One notable feature of IPv6 is its simplified header structure compared to IPv4. IPv6 headers are fixed in size and do not require checksums, which simplifies processing and reduces the overhead on network devices. IPv6 also supports features such as multicast addressing, anycast addressing, and flow labeling, which can improve the efficiency and flexibility of network communication.

The "A66" in your question is unclear, as it does not appear to be related to IPv6. However, it is possible that it may refer to a specific implementation or application of IPv6 in a particular context. Without more information, it is difficult to provide a more detailed explanation.


ITU reference A.66

ITU-T (International Telecommunication Union - Telecommunication Standardization Sector) is the United Nations specialized agency responsible for developing and coordinating international telecommunications standards. ITU-T Recommendation A.66 is a recommendation that provides guidance on the allocation and use of the international numbering resources.

In particular, ITU-T Recommendation A.66 provides guidance on the allocation of international numbering resources to ensure that they are used efficiently and effectively. It also provides guidance on the administration of international numbering resources, including the responsibilities of national and international organizations in managing these resources.

The recommendation covers a range of topics related to international numbering resources, including the principles of numbering, the structure of international numbering plans, the allocation of numbers to different services, and the management of numbering resources in the event of mergers or acquisitions.

ITU-T Recommendation A.66 is an important reference for telecommunication regulatory authorities, network operators, and other stakeholders involved in the management and allocation of international numbering resources. It is regularly updated to reflect changes in the telecommunications industry and evolving best practices for the management of international numbering resources.

"UCE (User Capabilities Exchange) - A63" by ChatGPT

 The User Capabilities Exchange (UCE) protocol is a standard proposed by the International Telecommunication Union (ITU) under the reference A.63. It is used to facilitate the exchange of information between two communication endpoints to establish a communication session.

In simple terms, UCE enables two communicating endpoints to exchange information about their capabilities before establishing a communication session. This information includes various parameters such as audio and video codecs, frame rate, resolution, and other relevant settings required to establish a successful session.

The UCE protocol allows endpoints to negotiate various session parameters based on their capabilities. For instance, if one endpoint has a low bandwidth connection, it may not support high-definition video streams. The protocol enables the endpoint to inform the other endpoint about its capabilities so that they can negotiate and agree on appropriate parameters that both can support.

The UCE protocol typically runs in the signaling layer of a communication network and is responsible for exchanging capabilities between endpoints during the signaling phase of a session. It uses Session Description Protocol (SDP) to describe and exchange the capabilities of the endpoints.

In summary, the User Capabilities Exchange protocol (UCE) provides a standard mechanism for communication endpoints to exchange information about their capabilities, enabling them to negotiate and establish successful communication sessions.

"LTE Positioning Protocol (LPP)" elaborated by ChatGPT

 LTE (Long-Term Evolution) Positioning Protocol is a protocol used to determine the location of a mobile device within a cellular network. The protocol provides location information by using various measurements taken by the mobile device and the network.

Here are some of the location information that LTE Positioning Protocol carries:

  1. Time Difference of Arrival (TDOA): This measurement is used to calculate the distance between the mobile device and multiple base stations. The time difference between the arrival of the signal at different base stations is used to calculate the location of the mobile device.

  2. Observed Time Difference of Arrival (OTDOA): This measurement is similar to TDOA but uses the time difference between the mobile device and the base station instead of between multiple base stations.

  3. Cell Global Identity (CGI): This is a unique identifier for each cell in a cellular network. The CGI can be used to identify the cell where the mobile device is located.

  4. Reference Signal Received Power (RSRP): This measurement is the received signal power from the base station. The strength of the signal can be used to estimate the distance between the mobile device and the base station.

  5. Reference Signal Received Quality (RSRQ): This measurement is the quality of the received signal from the base station. The quality of the signal can be used to estimate the distance between the mobile device and the base station.

  6. Serving Cell Identifier (SCID): This is a unique identifier for the cell where the mobile device is currently connected.

  7. Cell ID: This is a unique identifier for the cell where the mobile device is currently located.

  8. Global Navigation Satellite System (GNSS) Information: This information includes the latitude, longitude, and altitude of the mobile device, which is obtained from GPS or other satellite-based navigation systems.

Overall, LTE Positioning Protocol combines various measurements to provide accurate location information of the mobile device within the cellular network.